AGB  ·  Datenschutz  ·  Impressum  







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

oberflächenverknüpfung delphi

Ein Thema von zwerchnase · begonnen am 18. Mai 2008 · letzter Beitrag vom 18. Mai 2008
Antwort Antwort
zwerchnase

Registriert seit: 18. Mai 2008
4 Beiträge
 
#1

oberflächenverknüpfung delphi

  Alt 18. Mai 2008, 18:34
hi leute

ich hab nich gerade hier angemeldet und möchte
erstmal im voraus sagen, dass nir eure seite echt gut gefällt und sehr hilfreich ist

ich habe nun folgendes problem:
diesen delphi-code habe ich erstellt und nöchte nun eine passende oberfläche dazu kreieren...
leider ist mir das wissen mit der verknüpfung zwischen den methoden den buttons abhanden gekommen
zu dem würde ich gerne wissen ob der bisherige codeakzeptabel ist(nein delphi spinnt momentan ein bisschen)
Delphi-Quellcode:
unit UZahlen;

interface

uses
  Math;

type
  TZahlen = class(TObject)
    private
      sZahlen, aZahlen : array[1..12000] of longint;
      maxZahl : integer;
      anzahlTausch : integer;
      anzahlVergleich : integer;
    public
      constructor create;
      procedure feldbelegen(anzahl: integer);
      procedure feldinit;
      procedure anzahlinit;
      function holen(i: integer; feld: integer) : integer;
      function tauschZurueck : integer;
      function vergleichZurueck : integer;
      procedure bubblesort;
      procedure quicksort(links: integer; rechts: integer);
  end;

implementation

  constructor TZahlen.create;
  begin
    maxZahl := 0;
    randomize;
  end;

  procedure TZahlen.feldbelegen(anzahl: integer);
  var
    i: Integer;
  begin
    maxZahl := anzahl;
    for i := 1 to anzahl do
      aZahlen[i] := random(1000000);
  end;

  procedure TZahlen.feldinit;
  var
    i: Integer;
  begin
    for i := 1 to 12000 do
    begin
      aZahlen[i] := 0;
      sZahlen[i] := 0;
    end;
  end;

  procedure TZahlen.anzahlinit;
  begin
    anzahlVergleich := 0;
    anzahlTausch := 0;
  end;

  function TZahlen.holen(i: integer; feld: integer) : integer;
  begin
    if (feld = 1) then
      holen := aZahlen[i]
    else
      holen := sZahlen[i]
  end;

  function TZahlen.tauschZurueck : integer;
  begin
    tauschZurueck := anzahlTausch;
  end;

  function TZahlen.vergleichZurueck : integer;
  begin
    vergleichZurueck := anzahlVergleich;
  end;

  procedure TZahlen.bubblesort;
  var
    i, j, speicher: integer;
  begin
    sZahlen := aZahlen;

    for i := 1 to maxZahl-1 do
    begin
      for j := i+1 to maxZahl do
      begin
        Inc(anzahlVergleich);
        if sZahlen[i] > sZahlen[j] then
        begin
          speicher := sZahlen[j];
          sZahlen[j] := sZahlen[i];
          sZahlen[i] := speicher;
          Inc(anzahlTausch);
        end;
      end;
    end;
  end;

  procedure TZahlen.quicksort(links: integer; rechts: integer);
  var
    l, r, pivot, speicher: integer;
  begin
    if rechts = -1 then
    begin
      rechts := maxZahl;
      sZahlen := aZahlen;
    end;

    l := links;
    r := rechts;

    pivot := sZahlen[Ceil((l+r)/2)];

    repeat
      while sZahlen[l] < pivot do
      begin
        Inc(l);
        Inc(anzahlVergleich);
      end;

      while sZahlen[r] > pivot do
      begin
        Dec(r);
        Inc(anzahlVergleich);
      end;

      if l <= r then
      begin
        speicher := sZahlen[l];
        sZahlen[l] := sZahlen[r];
        sZahlen[r] := speicher;
        Inc(anzahlTausch);
        Inc(l);
        Dec(r);
      end;
    until l > r;

    if links < r then
      quicksort(links, r);

    if l < rechts then
      quicksort(l, rechts);

  end;


end.
freue mich auf eure kritischen kommentare
danke

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#2

Re: oberflächenverknüpfung delphi

  Alt 18. Mai 2008, 18:39
Hi,

Wenn du Quellcode postest, kannst du ihn so darstellen:

Code:
[delphi]

{ hier dein Code }

[/delphi]
Das hat Sharky jetzt für dich getan.

Wenn du auf einen Button doppelklickst, landest du an einer Stelle im Quelltext, aus der du deine Methoden aufrufen kannst. So einfach war das.

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
zwerchnase

Registriert seit: 18. Mai 2008
4 Beiträge
 
#3

Re: oberflächenverknüpfung delphi

  Alt 18. Mai 2008, 18:48
Ach ja, vielen Dank!

zwerchnase
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: oberflächenverknüpfung delphi

  Alt 18. Mai 2008, 19:08
Bei den älteren Delphiversion D2 - D7 gibt es im Unterverzeichnis Demos ein sehr schönes Projekt zur Visualisierung von Quicksort, Bubblesort.
Schau's dir an; es lohnt sich.
Delphi-Quellcode:
// for i := 1 to 12000 do PFUI :-)
for i:= Low(aZahlen) to High(aZahlen) do
begin
  aZahlen[i] := 0;
  sZahlen[i] := 0;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:57 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