Hirdetés
- Poco F6 5G - Turbó Rudi
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S21 FE 5G - utóirat
- Vivo X300 - kicsiben jobban megéri
- Okosóra és okoskiegészítő topik
- Milyen okostelefont vegyek?
- Nokia 6700 classic - folytassa, Nokia!
- Minimális változásokat hozhat a Google Pixel 10a
- Xiaomi 14T - nem baj, hogy nem Pro
- iPhone 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
- Bomba ár! Dell Latitude E7450 - i7-5GEN I 8GB I 256SSD I 14" FHD Touch I HDMI I Cam I W10 I Gari!
- Corsair Vengeance White RGB 2x16Gb 6000 cl36 bontatlan/új eladó (XMP/Expo)
- Dell Latitude 7290- I5 7 gen - 8Gb -256Gb
- Nikon D750 + 50mm f/1.4G + 24-120mm f/4G + Lowepro Mini Trekker AW szett
- GAMER PC - TUF B450, Ryzen5 5600x, Rtx 3070 8gb, 32gb DDR4, 1 TB Nvme
- BESZÁMÍTÁS! SAPPHIRE B650M R7 8700F 32GB DDR5 512GB SSD RX 6800XT 16GB Zalman Z1 GIGABYTE 750W
- Koenig One Touch Automata kávégép 6 hónap Garancia Beszámítás Házhozszállítás
- Dell 14 Latitude 5430 FHD IPS i7-1255U vPro 4.7Ghz 10mag 16GB 256GB Intel Iris XE Win11 LTE Garancia
- Újszerű Acer Aspire A515 - 15.6"FHD IPS - i5-1335U - 16GB - 512GB SSD - Win11
- XBOX ONE S konzol, 1db szinte új kontrollerrel!
Á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. 







