![]() |
Re: Sortieren in Listbox
Dann zeig doch mal den kompletten Code. :wall:
|
Re: Sortieren in Listbox
Delphi-Quellcode:
Wie gesagt hab keine Ahnung ob das alles richtig ist hatten wir im zweiten semester und seit dem nicht wieder!!!Danke
Type
TArtikel=record Artikelnummer: string[8]; Artikelbezeichnung: string[30]; Mengeneinheit: string[2]; Bestand: smallint; Maximalbestand: smallint; minimalbestand: smallint; Hersteller: string[41]; Preis: single; Maximalpreis: single; Minimalpreis: single; Lieferzeit: byte; end; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; ListBox1: TListBox; ListBox2: TListBox; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); procedure Sortieren(Artikelliste: Array of TArtikel;Anzahl: integer); procedure Ausgeben(Artikelliste: Array of TArtikel;Anzahl: integer); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin close; end; procedure TForm1.Button2Click(Sender: TObject); var f: file of Tartikel; i:integer; Artikelliste: array[1..100] of TArtikel; begin AssignFile(f, 'f:\Artikel.dat'); Reset(f); i:=0; while not Eof(f) do begin i:=i+1; Read(f,Artikelliste[i]); end; CloseFile(f); Sortieren(Artikelliste,i); end; procedure TForm1.Sortieren(Artikelliste:Array of TArtikel;Anzahl: integer); var i,j: integer; tauschen: TArtikel; begin for i:=1 to Anzahl-1 do begin for j:=i+1 to Anzahl do begin if((Artikelliste[i].Bestand*Artikelliste[i].Preis) <((Artikelliste[j].Preis*Artikelliste[j].Preis))) then begin tauschen:=Artikelliste[i]; Artikelliste[i]:=Artikelliste[j]; Artikelliste[j]:=tauschen; end; end; end; Ausgeben(Artikelliste,Anzahl); end; procedure TForm1.Ausgeben(Artikelliste:Array of TArtikel;Anzahl: integer); var i:integer; begin for i:=1 to Anzahl do begin Listbox1.Items.Add(Artikelliste[i].Artikelnummer + ' '+Artikelliste[i].Artikelbezeichnung+' ' + FloatToStr(((Artikelliste[i].Bestand * Artikelliste[i].Preis)))); if Artikelliste[i].Artikelnummer[7]='1' Then Listbox2.Items.Add(Artikelliste[i].Artikelnummer + ' '+Artikelliste[i].Artikelbezeichnung+' ' + FloatToStr(((Artikelliste[i].Bestand * Artikelliste[i].Preis)))); end; end; end. [edit=alcaeus]Delphi-Tags eingefuegt. Bitte in Zukunft selbst machen! Mfg, alcaeus[/edit] |
Re: Sortieren in Listbox
Hat sich das schon erledigt???
Ich hab schon mal ein Record sortiert ... such aber jetzt nich extra den Code raus, wenn's nimmer nötig ist. :mrgreen: |
Re: Sortieren in Listbox
Fehler:
Delphi-Quellcode:
Du schreibst einmal Bestand*Preis und dann Preis*Preis.
if((Artikelliste[i].Bestand*Artikelliste[i].Preis)
<((Artikelliste[j].Preis*Artikelliste[j].Preis))) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz