Einzelnen Beitrag anzeigen

Serpentine

Registriert seit: 1. Sep 2007
32 Beiträge
 
Delphi 2005 Personal
 
#6

Re: editbox Text aus Listbox beziehen

  Alt 2. Mai 2008, 11:52
Ich habe eine eigene Sortierroutine^^
Mh ich denke ich werde mal den kompletten Quellcode posten zum Besseren Verständnis.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Edit1: TEdit;
    Button1: TButton;
    XPManifest1: TXPManifest;
    Button2: TButton;
    Label1: TLabel;
    Button3: TButton;
    Label2: TLabel;
    Edit2: TEdit;
    ListBox2: TListBox;
    Button4: TButton;
    OpenDialog1: TOpenDialog;
    procedure Button4Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Edit2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  type
feldtyp = array[0..5000] of integer;

var
  Form1: TForm1;
  f:feldtyp;
  index:integer;



implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
index:=1;
if fileexists('settings.ini') then begin
listbox2.items.loadfromfile('settings.ini');
edit2.Text:=listbox2.items.strings[0];
end;
if fileexists(edit2.text+'.array') then
listbox1.items.loadfromfile(edit2.text+'.array');
label1.caption:='Bis jetzt wurden '+inttostr(listbox1.Items.count)+ ' Zahlen aufgenommen.';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
f[index]:=strtoint(edit1.text);
listbox1.items.add(edit1.Text);
edit1.text:='';
label1.caption:='Bis jetzt wurden '+inttostr(listbox1.Items.count)+ ' Zahlen aufgenommen.';
index:=index+1;
form1.caption:='Bubblesort - Zahlen aufnehmen';
end;

procedure TForm1.Button2Click(Sender: TObject);
var
a,i,j:integer;
begin
for i:=1 to index-1 do
begin
     for j:= index downto i do
     begin
          if f[j] < f[j-1] then
          begin
               a := f[j-1];
               f[j-1] :=f[j];
               f[j] := a;
          end;
     end;
end;
listbox1.Items.clear;
for i:=2 to index do begin
listbox1.items.add(inttostr(f[i]));
end;
form1.caption:='Bubblesort - Zahlen Sortiert';
label1.caption:='Bis jetzt wurden '+inttostr(listbox1.Items.count)+ ' Zahlen aufgenommen.';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
listbox1.items.Clear;
label1.caption:='Bis jetzt wurden '+inttostr(listbox1.Items.count)+ ' Zahlen aufgenommen.';
index:=1;
form1.caption:='Bubblesort - Bereit';
end;

procedure TForm1.Edit2Click(Sender: TObject);
begin
edit2.Text:='';
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
listbox1.Items.savetofile(edit2.Text+'.array');
listbox2.Items.clear;
listbox2.Items.add(edit2.Text);
listbox2.items.SaveToFile('settings.ini');
end;

procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
begin
index:=1;
if
opendialog1.execute then
listbox1.Items.LoadFromFile(opendialog1.FileName);
else begin
opendialog1.execute;
listbox1.Items.LoadFromFile(opendialog1.FileName);
end;
for i:=0 to listbox1.items.count-1 do
begin
  f[i+1]:=strtoint(listbox1.items.Strings[i]);
end;
label1.caption:='Bis jetzt wurden '+inttostr(listbox1.Items.count)+ ' Zahlen aufgenommen.';
end;

end.
Ich hoffe ihr könnt mir nun besser weiterhelfen.
  Mit Zitat antworten Zitat