procedure TForm1.Memo1Change(Sender: TObject); var i,j,antaltegn,tegntilbage: integer; tmpstr: string; begin antaltegn := 0; for i := 0 to memo1.lines.count do if memo1.Lines[i] <> '' then begin tmpstr := memo1.lines[i]; for j := 1 to length(tmpstr) do inc(antaltegn); end; tegntilbage := 5000 - antaltegn; form1.Caption := inttostr(tegntilbage); end;
Først en fonction til det grove arbejde, kan bruges på samtlige dine Memo i dit program
function AntalTegnTilbage(MitMemo: TMemo; MaxAntalTegn: Integer):Integer; var i: Integer; begin Result:= 0; for i:= 0 to MitMemo.Lines.Count do Result:= Result+ Length(MitMemo.Lines[i]); Result:= MaxAntalTegn-Result; end;
Og så et kald af function
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(IntToStr(AntalTegnTilbage(Memo1, 5000))); end;
procedure TForm1.Memo1Change(Sender: TObject); begin Caption := IntToStr(5000 - Length(Memo1.Text)); //Antal tegn der er tilbage kan ses i formens caption; 5000 = maks antal tegn; end;
function AntalTegnTilbage(Memo: TMemo; MaxAntalTegn: Integer; IgnorerLinjeskift: Boolean = true):Integer; begin Result := 5000 - Length(Memo.Text); if IgnorerLinjeskift then Result := Result - (2 * Memo.Lines.Count); end;
function AntalTegnTilbage(Memo: TMemo; MaxAntalTegn: Integer; IgnorerLinjeskift: Boolean = true): Integer; begin if IgnorerLinjeskift then Result := 5000 - Length(Memo1.Lines.CommaText) + Memo1.Lines.Count else Result := 5000 - Length(Memo.Text); end;
Jens Borrisholt -> Prøv at oprette en form med to memoer (Memo1 og Memo2) og sæt Memo2.Readonly til true. Brug følgende kode:
procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Clear; Memo2.Clear; end;
procedure TForm1.Memo1Change(Sender: TObject); var I: Integer; begin Memo2.Clear; for I := 1 to Length(Memo1.Text) do Memo2.Text := Memo2.Text + '#' + IntToStr(Ord(Memo1.Text[I])) + ', '; end;
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.