
Načítání souboru txt do Mema
Zdarec lidi potřeboval bych nákou inspiraci jak by se dalo udelat nacitani souboru txt do mema pres opendialog v Delphi, pls poradte.Dik
Zdarec lidi potřeboval bych nákou inspiraci jak by se dalo udelat nacitani souboru txt do mema pres opendialog v Delphi, pls poradte.Dik
Zpět do poradny Odpovědět na původní otázku Nahoru
Akú inšpiráciu potrebuješ ?
Vieš vôbec aspoň trochu pracovať s text.súbormi - otvoriť, prečítať riadok....
Vieš ako pracuje Memo ??? Vieš ako získať meno súboru z OpenDialogu ?
Snáď nechceš aby Ti tu niekto napísal celý program ???
¨ja su zacatecnik a docela bych to potreboval tak aspon nejak strucne,prosím
Napr. takto:
Memo1.Lines.LoadFromFile(OpenDialog1.Filename);
Ok dikec mam todle:
procedure TForm1.Button2Click(Sender: TObject);
var s,sub1,subs:string; //sub1 - řídící znaky, subs - nalezené řetězce
I,Y,Z:integer;
begin
//je třeba hledat text href a src
while eof(f)<>true do
begin
readln(f, s);
for I:=1 to length(s) do
begin
if I<(length(s)-4) then
if s[I]+s[I+1]+s[I+2]+s[I+3] = 'href' then
begin
Y:=0;
//determinování řetězce odkazu
if s[I+Y+5]='"' then
repeat
subs:=subs+s[I+Y+5+1];
sub1:=s[I+Y+5+2];
inc(Y);
until sub1='"';
Memo1.Lines.Add(subs);
end;
//subs:='';
//sub1:='';
//pos('/',subs);
//determinování názvu obrázku -
if s[I]+s[I+1]+s[I+2] = 'src' then
begin
Y:=0;
//determinování řetězce odkazu
if s[I+Y+5]='"' then
repeat
subs:=subs+s[I+Y+5+1];
sub1:=s[I+Y+5+2];
inc(Y);
until sub1='"';
//determinování názvu odkazu
repeat
inc(Y);
until s[I+Y+5+1]='>';(*sub1='"';*)
//inc(Y);
repeat
inc(Y);
if (I+Y+5)>=Length(s) then break;
subs:=subs+s[I+Y+5+1];
//inc(Y);
until s[I+Y+5+1]='<';
delete(subs,(length(subs)),1);
Memo1.Lines.Add(subs);
end;
if s[I]+s[I+1]+s[I+2] = 'src' then
begin
Y:=0;
//determinování řetězce odkazu
if s[I+Y+4]='"' then
repeat
subs:=subs+s[I+Y+4+1];
sub1:=s[I+Y+4+2];
inc(Y);
until sub1='"';
Memo1.Lines.Add(subs);
subs:='';
sub1:='';
end;
end;
end;
end;
end.
zadaní:
Program přečte stránku HTML (soubor *.html) a vypíše všechny odkazy a cesty a jména obrázků, které stránka obsahuje tj. obsahy tagů <a>, <img>. Soubor *.html otevřít pomocí opendialogu, výsledek do textového souboru nebo mema.
pls mohl byste to nekdo trchu zcekovat a poupravit, program sice chodi ale nejak podivne, nevim co s tim udelat,prosim moc diky
Navkladani zdrojaku pouzivej CODE. Mas tam i primo CODE pro pascal, takze ti to krasne zvyrazni syntaxi. Takto prirazene to cist jde hodne blbe.
Pises, ze program funguje podivne. Zkus se vyjadrit presne, popsat co a v jakem pripade funguje podivne a pak se da mluvit o nejakem kontrolovani.
tak ted uz mi to nefunguje skoro vubec pac sem tam neco prepsal a ja blbec to ulozil pise mi to Acces Violation at address 004514DF in module 'Project1.exe' Read of address 00000000
Jak ma vypadat kod - o nejakem odsazovani jsi slysel? Nedivim se, ze se v tom nevyznas.
Access violation ti to pise, protoze pristupujes k nejakemu objektu, ktery neexistuje.
V Delphi existuje debuger, breakpointy, trasovani kodu...
Protoze vidime pouze kousek kodu, neni mozne rict, kde jsi co provedl.
Priklad naformátovaného kódu:
K access violation muze dochaet take v pripade, kdy pristupujes k indexu retezce, ktery neexistuje.
Zkus nahradit nektere konstrukce:
nahrad za:
Tim budes mit zajisteno, ze nebude dochazet k cybnemu indexovani retezce a soucasne zajistis i velikost tagu. nebudes muset osetrovat 'src', 'Src', 'SRC' atd.
Nemám chuť kontrolovať Tvoj výtvor ale...
Asi by som na to išiel trošku jednoduchšie ???
1.) Na prázdny form si daj komponenty: WebBrowser (záložka internet), 2 tlačítka a ListBox.
2.) do uses doplň mshtml