AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array Sortieren

Ein Thema von Plat · begonnen am 9. Jan 2004 · letzter Beitrag vom 13. Jan 2004
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Plat

Registriert seit: 17. Dez 2003
40 Beiträge
 
#31

Re: Array Sortieren

  Alt 13. Jan 2004, 13:57
Zitat von Matze:
Zitat von Tpercon:
Vielleicht hättest du mal von Anfang an gesagt, dass du mit einem record spielst.
*zustimm* Alles umsonst
Wie alles umsonst??? Tut mir leid, aber in meinem 3 - 5 post auf der ersten Seite sieht man doch, dass ich mit Records arbeite BlaBlaArr.Name...
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#32

Re: Array Sortieren

  Alt 13. Jan 2004, 14:00
OK, schau dir meinen letzten Beitrag an und schau ob das jetzt geht.

Dann hättest du vielleicht nochmal explizit deinen record Aufbau bitte posten sollen.
  Mit Zitat antworten Zitat
Plat

Registriert seit: 17. Dez 2003
40 Beiträge
 
#33

Re: Array Sortieren

  Alt 13. Jan 2004, 14:23
Hmmm...


Wenn ich nun diesen Record Fülle Bsp.: TelefonBArr[1].Name:='Bla'; und TelefonBArr[2].Name:='BlaBla';

dann auf Sortiere klicke wird die ListBox Cleared und dann passiert nix mehr ?
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#34

Re: Array Sortieren

  Alt 13. Jan 2004, 14:26
Poste doch mal bitte deinen bisherigen für uns zur Problemlösung relevanten Code!
  Mit Zitat antworten Zitat
Plat

Registriert seit: 17. Dez 2003
40 Beiträge
 
#35

Re: Array Sortieren

  Alt 13. Jan 2004, 16:00
Zitat von Tpercon:
Poste doch mal bitte deinen bisherigen für uns zur Problemlösung relevanten Code!
ich glaube zu wissen wo der Fehler liegt.

if TelefonBArr[j].Name< TelefonBArr[i].Name then Swap(i,j); <= man kann keine FOR Schleifen variablen als var-parameter an andere Prozeduren übergeben ! (Sagt Delphi )
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#36

Re: Array Sortieren

  Alt 13. Jan 2004, 16:30
Jo, wenn dann so:
Swap(TelefonBArr[i], TelefonBArr[j])
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#37

Re: Array Sortieren

  Alt 13. Jan 2004, 16:40
Zitat von Plat:
Zitat von Tpercon:
Poste doch mal bitte deinen bisherigen für uns zur Problemlösung relevanten Code!
ich glaube zu wissen wo der Fehler liegt.

if TelefonBArr[j].Name< TelefonBArr[i].Name then Swap(i,j); <= man kann keine FOR Schleifen variablen als var-parameter an andere Prozeduren übergeben ! (Sagt Delphi )
Natürlich, das var muß in der Prozedur weg, dann geht's! Hatte ich auf die Schnelle nicht beachtet.

Matze's Vorschlag bringt nichts.
  Mit Zitat antworten Zitat
Plat

Registriert seit: 17. Dez 2003
40 Beiträge
 
#38

Re: Array Sortieren

  Alt 13. Jan 2004, 16:41
Zitat von Matze:
Jo, wenn dann so:
Swap(TelefonBArr[i], TelefonBArr[j])
habe ich auch grade mal versucht aber geht auch nicht...

Fehler: Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen.

@Typercon: Jo jetzt kann man wieder compilen aber das problem mit der leeren ListBox besteht weiterhin
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#39

Re: Array Sortieren

  Alt 13. Jan 2004, 16:44
Natürlich nicht, nimm das var weg und der Teil wird gehen! Du sollst nur den Index übergeben.

Dann poste doch mal bitte deinen jetzigen Stand vom Code.

Bin bis Donnerstag wahrscheinlich nicht mehr online.
  Mit Zitat antworten Zitat
Plat

Registriert seit: 17. Dez 2003
40 Beiträge
 
#40

Re: Array Sortieren

  Alt 13. Jan 2004, 16:51
So hier mal der bisherige code:

Delphi-Quellcode:
type TDatum = record
              Tag : Byte;
              Monat : Byte;
              Jahr : Integer;
            end;

  TSchuelerRec = record
              Name : String[25];
              Vorname : String[25];
              Gebdatum : TDatum;
              VName : String[25];
              MName : String[25];
              EinschulD : TDatum;
              Klasse : Char;
              Klassenst : Integer;
              Status : Boolean;
            end;

  TSchuelerArr = Array[1..100] of TSchuelerRec;

var SchuelerArr : TSchuelerArr; //mir egal welchen arr namen ihr nimmt... :)

...
...
...

procedure TForm1.Swap(i,j: Integer);
var dummy: TSchuelerRec;
begin
  dummy := SchuelerArr[j];
  SchuelerArr[i] := SchuelerArr[j];
  SchuelerArr[j] := dummy;
end;


procedure TForm1.Sortiere;
var i,j: integer;
begin
  for i:= Low(SchuelerArr) to High(SchuelerArr) do
    for j:= i + 1 to High(SchuelerArr) do begin
      if SchuelerArr[j].Name<SchuelerArr[i].Name then Swap(i, j)
    end;
end;

procedure TForm1.SortBtnClick(Sender: TObject);
var i: integer;
begin
  Sortiere;
  ListBox1.Clear;
  For i := Low(SchuelerArr) to High(SchuelerArr) do
    begin
    If (SchuelerArr[i].Name<>'') then
      ListBox1.Items.Add(SchuelerArr[i].Name);
    end
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz