Jeg er ved at lave et program der kan fjerne alle mellemrum i en tekst skrevet i en editboks. Teksten (uden mellemrum) flyttes derefter over i en memoboks. Dette er hvad jeg har skrevet, men programmet kører ned, og et eller andet er helt galt, men jeg kan ikke gennemskue hvad det er. Jeg håber der er nogen der kan hjælpe.
På forhånd tak.
var Form1: TForm1; S : String; I : Integer; implementation
{$R *.DFM}
procedure TForm1.ButtonClick(Sender: TObject); begin S := Edit.text; Trimleft(S); Memo.Clear; While S <> \' \' do I := 1; begin While (I<=Length(S)) AND (S[I] <> \' \') do begin Memo.Lines.Add(Copy(S,1,I)); Delete(S,1,I); S := Trimleft(S); Inc(I); end; end; End;
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Du kan bruge den her metode: procedure TForm1.Button1Click(Sender: TObject); var s: String; FoundPos, i: Integer; begin s := Edit1.Text; for i := 1 to Length(s) do begin FoundPos := Pos(\' \', s); if FoundPos <> 0 then begin Delete(s, FoundPos, 1); Insert(\'\', s, FoundPos); end; end; memo1.Text := s;//Hvor teksten skal hend end;
//Eller bare bruge: Memo1.text := StringReplace(Edit1.Text, \' \', \'\', [rfReplaceAll]);
Der står at strengen skal \"flyttes derefter over i en memoboks\". Det læser jeg som om den skal tilføjes, dvs. ADD()\'es, til Memo\'ens indhold. Det er klart, at hvis dette ikke er tilfældet, dvs. at Memo\'en efter operationen kun skal indeholde den nye streng, så skal man - som du gjorde - bruge memo\'ens Text property....men hvorfor så i det hele taget flytte texten til memo\'en? Den stod vel godt nok i EditBoxen, efter mellemrum er fjernet.
Anyway: At spilde tid på optimere sin kode på den måde - dvs. med mindst mulige antal linier og antal (lokale) variable på bekostning af læsbarhed mv - er efter min mening et typisk tegn på en anden generations programmør! ;)
>men hvorfor så i det hele taget flytte texten til memo\'en? Den stod vel godt nok i EditBoxen, efter mellemrum er fjernet.
Heh, det ved jeg sq ikke :o) Men et spørgsmål er et spørgsmål... Og han clear\'er selv Memo\'et, så derfor må han vel mene at det ikke skal add\'es.
Hvad er en andengenerations programmør?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.