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

Program do zapisu danych z klawiatury na dysk – obcięta nazwa pliku
Zbigniew Jachimowicz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 59
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?

babubabu
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 648
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

robertz68
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Zielona Góra
2

skoro w deklaracji zmiennych piszesz:

Kopiuj
Nazwa: String[15];

a później wywołujesz:

Kopiuj
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

Zbigniew Jachimowicz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 59
0

Obydwaj macie rację. Ciemnota ze mnie.

babubabu
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 648
1

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

Zbigniew Jachimowicz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 59
0
babubabu napisał(a):

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

Dzięki. zastosuję

cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9019
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ę.

Zbigniew Jachimowicz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 59
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ę.

Zbigniew Jachimowicz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 59
0

Teraz trzeba zapomnieć o starych nawykach.

robertz68
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Zielona Góra
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.