Redln prosím radu – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Redln prosím radu – Delphi – Fórum – Programujte.comRedln prosím radu – Delphi – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
mlike0
Duch
5. 3. 2011   #1
-
0
-

Ahoj všem.
Začal jsem se učit delphi7 a dělá mi trošku problém příkaz readln. Mám soubor pokus.txt a do něj pomocí příkazu writeln zapisuji číselné hodnoty(string). Po otevření tohoto souboru v Poznámkovém bloku, jsou vidět jednotlivé hodnoty pod uloženy pod sebou, což si myslím, že je v pořádku, protože writeln by měl po zápisu hodnot přejít na další řádek. Když tyto hodnoty chci číst, tak mi ale příkaz readln přečtě pouze počáteční hodnotu a víc nic??? Kde dělám chybu??? Když přidám příkaz readln(f), načte mi to zase jen o řádek posunutou hodnotu a dál opět nic. Myslel jsem, že pokud budu ve smyčce dávat příkaz readln, bude to vypisovat hodnoty jak jdou po řádcích, pochopil jsem něco špatně??? Děkuji za pomoc.Mlike

chjo nevim jak opravit název, má tam samozřejmě být readln...

Nahlásit jako SPAM
IP: 188.120.211.–
Reklama
Reklama
Grungy0
Super člen
5. 3. 2011   #2
-
0
-

Bez kódu ťažko povedať.
Skontroluj si či otvoríš ten súbor len pred cyklom, potom to v cykle načítaš a až potom ho zavrieš.

Nahlásit jako SPAM
IP: 188.123.100.–
Prvý náznak hlúposti, je pocit geniality.
JoDiK
~ Anonymní uživatel
981 příspěvků
5. 3. 2011   #3
-
0
-

To mlike : Jesli sis myslel, že readln ti bude něco vypisovat, tak to sis myslel špatně. V té smyčce dávej dvojici readln a writeln, pak to bude i vypisovat...

Nahlásit jako SPAM
IP: 88.103.233.–
mlike0
Duch
5. 3. 2011   #4
-
0
-

procedure TForm1.Button1Click(Sender: TObject);
begin
assignfile( f,'E:\pokusdelphi.txt');
append(F);
J := J + 1 ;
s:= inttostr(j);
writeln(F,S);
panel1.caption:= S;
CloseFile(F);
end;
procedure TForm1.Button2Click(Sender: TObject);
var delkasouboru: integer;
pom:string;

begin
assignfile( f,'E:\pokusdelphi.txt');
reset(F);
delkasouboru := filesize(f);
pom:= inttostr(delkasouboru);
closefile(f);
panel2.Caption:= pom;

assignfile( f,'E:\pokusdelphi.txt');
reset(F);
readln(F,S); { Read first line of file }
panel3.caption:= (S);
CloseFile(F);
end;

end.

Stačí tak?? Nevim, jestli neni problém to dávat takhle napřímo, nebo jen odkaz na soubor.

Nahlásit jako SPAM
IP: 188.120.211.–
mlike0
Duch
5. 3. 2011   #5
-
0
-

To JoDiK : no nevim přesně co si pod tim představuješ??? pastnul jsem kousek toho kodu, je to jen hraní, tak to vypada hrozně a jsou tam i věci navíc,ale nemyslim si, že by ovlivňovaly to vypisování. Já myslel, že tím příkazem readln načítáš postupně do nějakej proměnnej data jedno po druhým a pak to z tej proměnnej necháš vypisovat? pokud ne, k čemu je teda ten příkaz??

Promiň špatně jsem ten příspěvek adresovatl, nevšiml jsem si, že jsem to špatně smazal.

Nahlásit jako SPAM
IP: 188.120.211.–
nervak0
Věrný člen
5. 3. 2011   #6
-
0
-

Kód je dobré označit jako kód. A jestli ho má někdo číst, tak ho napiš čitelně.

Jak ten readln má vědět jaký řádek chceš číst? Prostě načte jeden řádek, když pokaždé ten soubor znovu otevřeš a zavřeš, tak samozřejmě pokaždé přečte jen první řádek.
{ na co tam ten komentář máš? }

while not eof(f) do

begin
readln(f, s);
showmessage(s);
end;

Nahlásit jako SPAM
IP: 213.211.51.–
mlike0
Duch
5. 3. 2011   #7
-
0
-

To nervak : když tam dam tu podmínku eof, tak mi to chcípne někde ve smyčce:-((

Nahlásit jako SPAM
IP: 188.120.211.–
mlike0
Duch
5. 3. 2011   #8
-
0
-

To nervak : tak ne, asi jsem tam tu podmínku před tim dával blbě. Díky

Nahlásit jako SPAM
IP: 188.120.211.–
JoDiK
~ Anonymní uživatel
981 příspěvků
5. 3. 2011   #9
-
0
-

To mlike :
Aha, dokud tady nebyl kód nemoh jsem tušit, jestli to děláš v konzoli nebo v okně...
Co kdyby sis v nápovědě přečetl, jak funguje čtení ze souboru?
A jestli se nepletu tak FileSize je použitelné pouze pro typové a netypové soubory, jaké číslo ti to hodilo pro ten textový soubor?
Jo a příště nezapomeň vložit i deklarace proměnných...

Nahlásit jako SPAM
IP: 88.103.233.–
mlike0
Duch
5. 3. 2011   #10
-
0
-

To JoDiK : jo, číslo to hodilo blbý, ale to je v poho, už to vím. jo a už to šlape,nevim kde byla chyba, ale napřed mi to vyhazovalo chybu u příkazu eof, tak jsem si s tim hrál a zkoušel to nějak rozchodit a došlo to až do toho stadia, který jsem sem pastnul. Po Nervakově reakci to chvili šlo pak to zas nešlo(nevim proč, připsal jsem dva řádky, nešlo to, tak jsem je smazal a zas to nechodilo), tak jsem to celý zavřel, napsal znovu a přehlednějc a zas to jede. Takže vlastně problém vyřešen a všem za rady děkuji. Já se v Delpfi rochnim druhej den, některý věci mi něco říkaj z piců, tak si prostě jen tak zkoušim. Mám radši, když si vymyslim nějakou konkrétní věc a na tom se učim, než jít od začátku učebnice a vlastně nevidět nějakej výsledek. Ale zatim to jde. Děkuju vám moc všem.

Nahlásit jako SPAM
IP: 188.120.211.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

Prosím o radu — založil Berry309

Prosím o radu — založil sakal91

Prosím o radu — založil Pavel00

Prosím radu — založil Jakub Sosnovec

Prosím o radu — založil Michal

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý