- iPhone topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Milyen okostelefont vegyek?
- Samsung Galaxy A52s 5G - jó S-tehetség
- Yettel topik
- Apple iPhone 16 Pro - rutinvizsga
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- OnePlus 8T – fazonigazítás
- Fotók, videók mobillal
- Szívós, szép és kitartó az új OnePlus óra
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
GodHeart #813 üzenetére
Vagy nem
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
- Új DDR5 Gamer PC I5-12400F + RTX 5060 - Testreszabható konfiguráció! - 1 év Garancia
- P15 Gen2i 15.6" 4K OLED érintő i7-11850H RTX A2000 32GB 1TB NVMe ujjlolv IR kam gar
- Apple iPhone 13 Pro Max 128 GB Sierra Blue független 100% Akku
- ASUS ROG-STRIX-RX5700XT-O8G-GAMING RX 5700 XT 8GB GDDR6 OC PCIE
- Thinkpad P16 Gen2 16" FHD+ IPS i7-13850HX RTX 1000 Ada 32GB 1TB NVMe gar
- Eladó szép állapotban levő Apple iPhone SE2020 64GB / 12 hó jótállás
- BESZÁMÍTÁS! AMD Ryzen 9 3900X 12 mag 24 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASUS Z170 i7 6700K 16GB DDR4 512GB SSD GTX 1660Ti 6GB CooleMaster MasterboxMB 600 CM650W
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3447, 94% Akkumulátor
- Apple iPhone 11 Pro / 64GB / Kártyafüggetlen / 12Hó Garancia / 100% akku
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest