Avatar
expoox
Redaktor
Avatar
expoox:

Zdravim, mam problem s jednym prikazom

procedure TForm1.Button1Click(Sender: TObject);
var txt,slovo:string;
  pole:array of string;
  porad,vporad,dd,vd,i:integer;
begin
  txt:=Memo1.Lines.Text;
  dd:=0;
  porad:=0;
  vd:=1;
  slovo:=#0;

  for i:=1 to Length(txt) do begin
    if not ((txt[i] = #32) or (txt[i] = #44)) then begin
      slovo[dd]:= txt[i];
      inc(dd);
    end
    else begin
      inc(porad);
      if (vd <= dd) then begin
        vd:=dd;
        vporad:=porad;
      end;
      dd:=1;
      SetLength(pole,porad);
      showmessage('12');
      pole[porad]:=slovo;
      showmessage('13');
      slovo:=#0;
      showmessage('14');
    end;
  end;
  label2.caption:=pole[vporad];
end;

konkretne prikaz

pole[porad]:=slovo;

furt to na tom pada a neviem tomu prist na klb, chybu ktoru to hadze mate v obrazkoch, predom dakujem za pomoc

 
Odpovědět 8.4.2013 14:52
Avatar
expoox
Redaktor
Avatar
expoox:

prave som vyskusal

try
       pole[porad]:=slovo;
     Except
       on E: Exception do showmessage(pchar(Exception));
     end;

ale vratilo tu istu chybu

 
Nahoru Odpovědět 8.4.2013 15:10
Avatar
Luboš Běhounek (Satik):

Problém je tu:

SetLength(pole,porad);
showmessage('12');
pole[porad]:=slovo;

Pole jsou v delphi (na rozdil od stringu) indexovane od nuly, takze kdyz nastavis poli delku na porad, tak muzes pristupovat jen na indexy 0 az (porad-1)

Editováno 8.4.2013 15:12
Nahoru Odpovědět 8.4.2013 15:11
:)
Avatar
expoox
Redaktor
Avatar
expoox:

problem vyrieseny, dakujem

 
Nahoru Odpovědět 8.4.2013 15:19
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.