čtení ze souboru – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

čtení ze souboru – Pascal – Fórum – Programujte.comčtení ze souboru – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
witsarah
~ Anonymní uživatel
1 příspěvek
18. 5. 2009   #1
-
0
-

ahoj,
muže někdo prosím nepogramátorovi poradit, jak číst z .txt souboru data násl. formátu?
5.3.2009,02:40,1.2607,1.2620,1.2607,1.2615,70
5.3.2009,02:50,1.2614,1.2615,1.2598,1.2602,69
5.3.2009,03:00,1.2601,1.2611,1.2601,1.2610,47
(datum,čas,4xreal,integer)

Nahlásit jako SPAM
IP: 212.24.139.–
Reklama
Reklama
Yety0
Stálý člen
18. 5. 2009   #2
-
0
-

deklaruješ proměnou f typu text (var f:text;)
dále deklaruješ jednorozměrné pole o počtu prvků (zatím typu string), které chceš načíst (např. prvek : array [0..20] of string).
otevřeš si soubor (assign (f,'cela_cesta_k_souboru') append (f);) a for cyklem načítáš prvky a to tak, že načítáš a kontroluješ
jestli jsi nenarazil na čárku, pokud ano, tak začneš řetězec načítat do dalšího prvku pole, které jsis výše definoval (deklaroval) a nakonec převedeš prvky z typu string do real. Zhruba, takhle, ale v pascalu jsem se soubory už dlouho nepracoval, takže možná se mi někde vloudila chybička. Můžeš to také načítat rovnou jako čísla, ale ja to vzdy delal, takhle.

Zkus a chyby sem piš a já nebo někdo jiný je bude řešit.

Nahlásit jako SPAM
IP: 94.113.49.–
Kapitán A. J. Rimmer vesmírný dobrodruh
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
18. 5. 2009   #3
-
0
-

To Yety : ahoj a díky za reakci. Bona fide jsem ucinil dle rady. Zdroj nyni vypada takto (viz nize), ale v zaznam(1) je cela radka dat, takze mam zmatek v tom, jak jit o jednotlivych znacich a hledat oddelovac(carku). Pokud bych mohl pozadat o formalni upravu tak abych cisla mel jako real, resp. int, myslim ze dalsi algoritmizaci zvladnu.
hezký večer
p.k.

program test_MA;
var
zaznam: array [1..47] of string;
data: array [1..2,1..10] of string;
OLHC: array [1..3,1..10] of real;
vol: array [1..10] of integer;
f: text;
i: byte;

begin
assign(f,'c:\soubor.txt');
{$I-}
reset(f);
{$I+}
if (IOResult=0) then
begin
while not eof(f) do
begin
for i:=1 to 7 do
begin
read(f,zaznam[i]);
end;
writeln(zaznam[1]);
writeln(zaznam[2]);
writeln(zaznam[3]);
readln(f);
end;
close(f);
end;
end.


Nahlásit jako SPAM
IP: 212.24.139.–
Mircosoft+1
Věrný člen
19. 5. 2009   #4
-
0
-

Tech cyklu je tam nejak podezrele moc, chce to trochu zjednodusit (predpokladam, ze pole Zaznam je pomocne uloziste, do ktereho nacitas cely soubor):

i:=0;

while (i<47) and not eof(f) do
begin
inc(i);
readln(f,zaznam[i]);
end;

Ted je nacteno a v promenne i mas ulozeny pocet radku (ktery je potreba zachovat!).

String se chova jako pole znaku (array[1..neco] of char), takze se da prochazet pismeno po pismenu a testovat, jestli to je carka. Nebo je mozne carku najit pomoci funkce Pos, pak funkci Copy vytahnout usek pred ni, procedurou Val ho prevest na cislo a nakonec ho pomoci Delete smazat z nacteneho radku (vcetne te carky, aby se o ni dalsi Pos nezarazil).

Nahlásit jako SPAM
IP: 130.119.248.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
19. 5. 2009   #5
-
0
-

To Mircosoft : ahoj a diky za navigaci. Povedlo se :). zdravi p.k.

Nahlásit jako SPAM
IP: 212.24.139.–
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, 12 hostů

Podobná vlákna

čtení ze souboru — založil Roman

čtení ze souboru — založil VitPet

čtení ze souboru — založil Jakub Vojáček

Cteni ze souboru — založil Mory

Cteni souboru — založil marek321

Moderátoři diskuze

 

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