Hirdetés
- Samsung Galaxy A54 - türelemjáték
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- Szemtelenül olcsó lett a Nubia Fold
- One mobilszolgáltatások
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Xiaomi 14T Pro - teljes a család?
- Xiaomi 15T Pro - a téma nincs lezárva
- Okosóra és okoskiegészítő topik
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
GodHeart
#813
üzenetére
Vagy nem
![;]](//cdn.rios.hu/dl/s/v1.gif)
Nincs kéznél pascal, de szerintem itt a hiba:read(de);
Ha úgy mûködik mint más környezetben szokás, akkor ez nem olvassa be a sorvég jelet.
Igy amikor areadln(dv);
részhez ér, az rögtön beolvassa a pufferben maradt sorvég jelet. Persze lehet, hogy tévedek.

MOD:
Mármint az üres stringet olvassa be a readln, mert a sorvége jelig adja vissza (de azt is beolvassa). Innentõl gondolom az Assign az üres stringre stdtout-ot adj ezért jelenik meg kétszer a képernyõn a file tartalma. Megoldás: a read(de) helyére readln(de).
[Szerkesztve] -
Drótszamár
őstag
válasz
GodHeart
#808
üzenetére
Az assign-ot direkt hagytam ki, az nem tartozik szorosan a hibaellenőrző részhez.
{$I-} kikapcsolja az input output műveletek ellenőrzését. tehát a program nem lép ki hibaüzivel. ezzel te tudod lekezelni a hibát. Hogy történt e hiba azt az IoResult függvény adja vissza. Ha 0-val tér vissza akkor nincs hiba.
{$I+} visszakapcsolja az ellenőrzést, mert a későbbiekben szükség lehet rá.
egyébként ezt fordítási direktívának hívják ha jól emléxem
{$R-} a határértékeket vizsgálatát szünteti meg. ha ki van kapcsolva akkor felül lehet indexelni tömböt, és ezzel komoly esélyed lessz a teljes gép lefagyasztására
A progi viszont nem fog Range Check error-t dobálni. -
Drótszamár
őstag
válasz
GodHeart
#803
üzenetére
{$I-} Rewrite(f); {$I+}
If IoResult<>0
Then
Begin
writeln('hiba van vazze. szar a zixszpé');
End
Else
Begin
writeln('nincs hiba...');
End;
ezzel kikapcsolod a hibaellenőrzést amíg a megnyitás zajlik. Ekkor nem kifagy, hanem üzit ír a képernyőre (ha reset-et használsz, akkor így lehet ellenőrizni, hogy a fájl létezik e) -
-
Drótszamár
őstag
válasz
GodHeart
#789
üzenetére
Type egysor : string;
Var sorok array [1..sok] of egysor;
soroksz : integer;
begin
...
soroksz:=0;
while not eof(file_valtozo) do
Begin
soroksz:=soroksz+1;
readln(file_valtozo,sorok[soroksz]);
End;
for i:=1 to soroksz do
Begin
writeln(sorok[ i ]);
End;
...
remélem érthető mire gondoltam, ja és remélem valami hasonlót akartál csinálni
[Szerkesztve] -
Jester01
veterán
válasz
GodHeart
#787
üzenetére
Soronként is beolvashatod egy 1D string tömbbe.
Vagy ha nem kell egyszerre több sor, akkor
simán ciklusban is feldolgozhatod, nem muszáj egyben betölteni a memóriába
(ezzel ugyanis korlátozod a fájlméretet).
Emlékem szerint a BlockRead-del az lesz a baj, hogy fix méretű rekordokat olvas, neked pedig változó hosszú soraid vannak ha jól értem. De ebben nem vagyok biztos.
Új hozzászólás Aktív témák
- World of Tanks - OFF topic
- Autós topik látogatók beszélgetős, offolós topikja
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Samsung Galaxy A54 - türelemjáték
- Temu
- Sweet.tv - internetes TV
- Miskolc és környéke adok-veszek-beszélgetek
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Apple MacBook
- Hullanak a fejek az Apple-nél
- További aktív témák...
- Telefon szerviz helyben - Gyors javítás, akár 30 perc alatt!
- iKing - Apple iPhone 15 Pro Natural Titanium ProMotion 120 Hz, A17 Pro, USB-C 128 GB
- LG 34WQ500-B - 34" IPS LED - 2560x1080 Wide FHD - 100Hz 5ms - AMD FreeSync - HDR10
- BESZÁMÍTÁS! ASUS ROG STRIX B460 i7 10700 16GB DDR4 1TB SSD RTX 5060 8GB NZXT S340 fehér CM 600W
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

![;]](http://cdn.rios.hu/dl/s/v1.gif)
szivesen.
Gyere csak be a gyúrós topicba, majd megkapod a magadét. 







