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?
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
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
Obydwaj macie rację. Ciemnota ze mnie.
tylko nie zmienaj nazwa:string[15]
na nazwa:sting[jakaś liczba]
tylko po prostu na nazwa:string
babubabu napisał(a):
tylko nie zmienaj
nazwa:string[15]
nanazwa:sting[jakaś liczba]
tylko po prostu nanazwa:string
Dzięki. zastosuję
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ę.
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ę.
Teraz trzeba zapomnieć o starych nawykach.
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