in Delphi Ich möchte mit einem Parameter, der die „Tform3.ListBox“ in „Tform3.Listbox.Clear“ ersetzen. Welche Datentyp muss ich es sagen?

stimmen
0

Für mein Verfahren wollte ich die Kennung als Parameter setzen, aber ich weiß nicht, welche Datentypen zu verwenden, dass die .clear Methode kennt oder ist auf einem TListBox verwendbar. In diesem Beispiel verwenden ich String aber das offensichtlich nicht funktioniert.

procedure Reset(input, output: string);
begin
     input := '';
     output.Clear;

„Eingang“ ist mein edit.text, so kann ich nur Zeichenfolge verwenden für das, aber „Ausgang“ ist mein ListBox.

meine gesamte Code ist

unit UFunction;

interface
uses
  System.Classes,System.StrUtils,System.AnsiStrings,System.SysUtils;

 procedure CaseSensitiveSwitchFlip ;
 procedure CopyToClipboard;
 procedure Reset(Input: string; Output: string);
 procedure Sort(input: string);
implementation

uses
UInterface, Vcl.Clipbrd;

procedure CaseSensitiveSwitchFlip ;
begin
     IstCaseSensitiveActive := not IstCaseSensitiveActive
end;

procedure CopyToClipboard;
begin
     ClipBoard.AsText := Form3.ListeLb.Items.Text;
end;

procedure Reset(input: string; output: string);
begin
     input:='';
     output:= '';
end;

procedure Sort(input: string);
var
ArrayIndex, inputIndex, Count: integer;
Character: array[1..256] of string;
text: string;
begin
     if (input<>'') then begin
       if (input<>'') and (Form3.ListeLb.Items.Count <> 0)  then
         Form3.ListeLb.Clear;
       ArrayIndex:= 0;
         repeat
               if input<>'' then begin
                 ArrayIndex:= ArrayIndex +1;
                 if not IstCaseSensitiveActive then
                   input:= AnsiUpperCase(input);
                 Character[ArrayIndex]:= input[1];
                 Count:= 1;
                 inputIndex:= 0;
                 text:= (input);
                 delete(text, 1, 1);
                 input:= text;
                 if AnsiContainsStr(input, Character[ArrayIndex]) and (Character[ArrayIndex] <> ' ') then begin
                   repeat
                         inputIndex:= inputIndex +1;
                         if Character[ArrayIndex] = input[inputIndex] then begin
                           Count:= Count + 1;
                           text:= input;
                           delete(text, inputIndex, 1);
                           input:= text;
                           inputIndex:= inputIndex - 1;
                         end;
                   until not (AnsiContainsStr(input, Character[ArrayIndex])) or (Character[ArrayIndex] = ' ');
                   Form3.ListeLb.Items.Add(Character[ArrayIndex] + ': ' + IntToStr (Count))
                 end
                 else if (Character[ArrayIndex] <> ' ') then begin
                        Form3.ListeLb.Items.Add(Character[ArrayIndex] + ': ' + IntToStr (Count))
                 end;
               end;
         until (length(input) = 1) or (input = '');
         if input <> '' then begin
           ArrayIndex:= ArrayIndex + 1;
           Character[ArrayIndex]:= input[1];
           input := '';
           if Character[ArrayIndex] <> ' ' then
             Form3.ListeLb.Items.Add(Character[ArrayIndex] +': ' + IntToStr (1));
         end;
     end
end;

end.
Veröffentlicht am 19/12/2018 um 14:19
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Sie müssen einfach nur Arten von Paramter Eingang TEdit Ausgang TListBox ändern

procedure reset(input:TEdit; output:TListBox)
begin
 input.Text:='';
 output.items.clear;
end;

Viel Zeit vergangen, als ich sah, pascal Code nicht ohne Objektklassen;

Beantwortet am 19/12/2018 um 15:35
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more