Nacitani hodnot z txt do pole,vyhledavani a vypis hodnot – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Nacitani hodnot z txt do pole,vyhledavani a vypis hodnot – Pascal – Fórum – Programujte.comNacitani hodnot z txt do pole,vyhledavani a vypis hodnot – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
JiriVavru0
Návštěvník
20. 5. 2008   #1
-
0
-

Zdravím
Mám jeden dotaz,mám program ve kterem zapisuji do,prohlizim z a mazu z TXT souboru.
Chtěl bych ale udělat abych mohl dané hodnoty i vyhledávat např podle jména,příjmení apod,tak abych je načetl do pole a hodnoty ,ktere se shodují pak vypsal na screen.

Zajímá mne také,zda je toto vůbec možné u txt,tzn:např hodnoty tel.číslo,jméno či další spolu mají společného jenom to,že patří k jednomu záznamu,tzn že pokud zadám třeba číslo a bude obsaženo v txt,tak aby se mi vypsal celý záznam(tj.napr prijmeni,jmeno,t.číslo) s tím,že samozřejmě před zápisem odstraním diakritiku a převedu na malá písmena..

Díky za jakoukolliv radu

Pro představu přikládám ZK:

program seznam;

uses crt;
const {konstanta pro generovani dotazu behem zadani}
polozka: array[1..4] of string= ('prijmeni','jmeno',
'telefonni cislo','cislo na mobil');
var
zadani,radek,soubor:string;
s:text; {textovy soubor}
i:integer;
odpoved:char;

procedure novy; {vytvori novy soubor}
begin
rewrite(s);
write(s,'Prijmeni':15); {a zapise do neho hlavicku}
write(s,'Jmeno':15);
write(s,'Telefon':15);
writeln(s,'Mobil':15);
for i:=1 to 60 do write(s,'-');
writeln(s);
close(s);
end;

procedure inicializace;
begin
clrscr;
write('Jmeno souboru: '); {vyber souboru}
readln(soubor);
assign(s,soubor);
{$I-}
reset(s); {testuje jestli soubor existuje}
{$I+}
if ioresult<>0 then novy {kdyz ne tak ho vytvori}
else close(s);
end;

procedure vypis; {vypise obsah souboru}
begin
clrscr;
reset(s);
while not eof(s) do begin
readln(s,radek);
writeln(radek);
end;
repeat until keypressed;
close(s);
end;

procedure vymaz; {vymaze aktualni soubor}
begin
clrscr;
erase(s);
writeln('Soubor ',soubor,' byl smazan!');
writeln('Chcete vybrat jiny soubor A/N');
if upcase(readkey)='A' then inicializace {otevre bud jiny soubor}
else halt; {nebo ukonci program}
end;

procedure pridat; {prida polozku do souboru}
begin
append(s);
repeat
clrscr;

for i:=1 to 4 do begin {generuje dotaz pomoci konstant}
write('Zadejte ',polozka[i],': ');
readln(zadani);
write(s,zadani:15);
end;

writeln(s);
writeln('----------------------');
writeln('Dalsi zaznam? (A/N)');
until upcase(readkey)<>'A';
close(s);
end;

begin { hlavni program - menu}
inicializace;
repeat
clrscr;
writeln('Soubor: ',soubor);
writeln('---------------------');
writeln('Vypsat obsah ...... V');
writeln('Pridat polozku .... P');
writeln('Smazat soubor ..... S');
writeln('Zmena souboru ..... Z');
writeln('---------------------');
writeln('Konec ........... Esc');
odpoved:=upcase(readkey);
case odpoved of
'V': vypis;
'P': pridat;
'Z': inicializace;
'S': vymaz;
end;
until odpoved=chr(27);
end.



Nahlásit jako SPAM
IP: 83.208.196.–
Reklama
Reklama
Mircosoft+1
Věrný člen
21. 5. 2008   #2
-
0
-

Vyhledávání v souboru? Obsah souboru načti do pole a pak prohledávej to pole.


Mimochodem, dost práce by sis ušetřil použitím typového souboru (file of něco). Přišel bys pouze o čitelnost v textových editorech.

Nahlásit jako SPAM
IP: 147.32.160.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
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, 13 hostů

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ý