Jsem zacatecnik,prosim o radu, jak v Delphi smazat v retezci vsechna nevyhovujici pismena a ty co chci ulozit bez mezer zpet do retezce.
begin
r1:=Memo1.Lines.Text;
N:=length(r1);
SetLength(r2,N);
for i:=1 to N do begin
if (r1[i] = 'a') or (r1[i] = 'c') or (r1[i] = 'g') or (r1[i] = 't')
or (r1[i] = 'A') or (r1[i] = 'C') or (r1[i] = 'G') or (r1[i] = 'T')
then r2[i]:=r1[i];
Memo3.Lines.Text:=r2;
end;
tohle me ovsem nefunguje a misto pismen co tam nechci se me tam dopisi jeste jine znaky.
Dekuji za pomoc.
Fórum › Delphi
Mazani v retezci
Zkus to takhle: (podle toho jak to máš napsanou podmínku, tak se do Memo3 zkopírují jenom ty vypsané znaky)
Pokud jsi to mínil obráceně, pak podmínka by musela být také obráceně (if (r1[i]<>'a') and (r1[i]<>'c')...)
procedure TForm1.Button1Click(Sender: TObject);
var i,j,n: Integer;
s,s1: String;
begin
Memo3.Clear;
n := Memo1.Lines.Count-1;
for j := 0 to n do
begin
s := Memo1.Lines[j];
s1 := '';
for i := 1 to Length(s) do
if (s[i]='a')or(s[i]='c')or(s[i]='g')or(s[i]='t')or
(s[i]='A')or(s[i]='C')or(s[i]='G')or(s[i]='T')then
s1 := s1+s[i];
Memo3.Lines.Add(s1);
end;
end;
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 20 hostů
Podobná vlákna
Mazani boxu — založil Hurys
Mazaní komentářu — založil Jakub Kahoun
Mazání cookies — založil kardon
Mazani pomoci $get — založil tribalcz
Mazání složek — založil