Program do zapisu danych z klawiatury na dysk – obcięta nazwa pliku

0

Witam
Mam program do zapisu danych z klawiatury na dysk. (dodam załącznik)
Program żąda wpisania nazwy pliku w którym chcę zapisać dane. Wpisuję np. "silnik.exp" a na dysku zapisuje się jako "siln"
Co jest grane. Pogodziłem się z tym, że zapisuje tylko w katalogu gdzie są wszystkie pliki Lazarusa ale to obcinanie nazwy?

3

Obcina ci nazwę ponieważ ograniczasz jej długość do 15 znaków a co za tym idzie C:\LAZARUS\silnik.exp zamienia się w C:\LAZARUS\siln

2

skoro w deklaracji zmiennych piszesz:

Nazwa: String[15];

a później wywołujesz:

Nazwa:=Concat('C:\LAZARUS\',Nazwa); Assign(Plik,Nazwa);

to policzmy:
C:\LAZARUS\ to 11 znaków - dlatego zostało ci tylko 4 w zmiennej, stąd silnik.exp jest skracany do siln, czyli 4 znaki

0

Obydwaj macie rację. Ciemnota ze mnie.

1

tylko nie zmienaj nazwa:string[15] na nazwa:sting[jakaś liczba] tylko po prostu na nazwa:string

0
babubabu napisał(a):

tylko nie zmienaj nazwa:string[15] na nazwa:sting[jakaś liczba] tylko po prostu na nazwa:string

Dzięki. zastosuję

0

A ja mam takie pytanie do @Zbigniew Jachimowicz - z czego wynika to ograniczenie długości stringa? W innym wątku też był pewien początkujący zawodnik, który także z uporem maniaka obcinał długość stringa. Z czego to wynika? Jakieś kursy tak uczą?
Pytam całkiem serio, nie czepiam się ani nie dokuczam, po prostu staram się zrozumieć motywację.

1

Witam. Pascala uczyłem się sam. A było to dawno kiedy komp miał 10MHz zegara 600kB pamięci i dysk 10 MB każdy bajt liczył się i jakoś tak mi zostało.
ponieważ zegar miał 10 MHz to robiłem wstawki typu "Liczenie trwa - proszę czekać" aby wiedzieć,że coś się dzieje i program nie zawiesił się.

0

Teraz trzeba zapomnieć o starych nawykach.

2

To ja bym jeszcze koledze zasugerował przejście na okienka.
Przyzwyczajenia przyzwyczajeniami ale jednak możliwość wyklinania ścieżki do pliku jest naprawdę wygodna.

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1