Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi löschen sich komponenten ? (https://www.delphipraxis.net/25789-loeschen-sich-komponenten.html)

der t0r 12. Jul 2004 14:41


löschen sich komponenten ?
 
ich habe folgendes problem: ich habe meine 21 labels auf der form und will diese neu ordnen... nach der umstellung sind aber nicht mehr 21 sondern nur ca 15 übrig...nachdem ich dann mit nem showmessage jeden schritt angeschaut hab sah ich, dass wenn ein label auf seiner "reise" über ein anderes läuft, dieses nur mehr verkrüppelt / gar nicht zu sehen ist...wie kann ich das verhindern mit hide gehts nicht..
könnte ich das vielleicht mit ner neuen form machen , auf der alles wie auf der alten ist? muss ich die von vorneherein haben (wenn ja wie mach ich 2?)oder kann ich die mit create machen(versuch ist schon gescheitert, die kommt einfach nicht...)
HIIIIIIILFEEE!!!! :freak:

StefanDP 12. Jul 2004 14:46

Re: löschen sich komponenten ?
 
Kann ich nicht ganz nachvollziehen.
Poste doch mal den Source als Attachement oder so.

Was verstehst du unter "ordnen" und "umstellung"


stefan

der t0r 12. Jul 2004 14:54

Re: löschen sich komponenten ?
 
nun gut.. ^^ also die 21 labels werden erzeugt:
Delphi-Quellcode:
for i:=1 to 3 do begin
  for j:= 1 to 7 do begin
    case i of
      1:arr1[j]:=TLabel.Create(Form1);
      2:arr2[j]:=TLabel.Create(Form1);
      3:arr3[j]:= TLabel.Create(Form1);
    end;
    end;
neu geordnet:
Delphi-Quellcode:
if rblinks.checked then begin
  for i:= 1 to 21 do begin
    case i of
    1..7:stapel[i]:=arr2[i];
    8..14:stapel[i]:=arr1[i-7];
    15..21:stapel[i]:=arr3[i-14];
    end;
  end;
Delphi-Quellcode:
for j:=1 to 7 do begin
  for i:=1 to 3 do begin
       case i of
      1: arr1[j]:=stapel[j*3-2];
      2: arr2[j]:=stapel[j*3-1];
      3: arr3[j]:=stapel[j*3];
      end;
  end;
end;
dann versuche ich sie wieder zu positionieren.. dann kommt das problem...

sakura 12. Jul 2004 14:55

Re: löschen sich komponenten ?
 
HI,

tausche doch mal die [code] Tags mit [delphi] Tags aus ;)

...:cat:...

der t0r 12. Jul 2004 15:32

Re: löschen sich komponenten ?
 
ja toll aber wie wärs mit nem lösungsvorschlag? :wink:

StefanDP 12. Jul 2004 15:34

Re: löschen sich komponenten ?
 
Mir ist immer noch nicht klar WAS du überhaupt machen willst...
Wie wärs wenn du mal den kompletten Sourcecode alls Attachement posten würdest, dann kann sich das mal jemand anschauen.

stefan

der t0r 12. Jul 2004 15:51

Re: löschen sich komponenten ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
kk hier kommt die pas datei...

StefanDP 12. Jul 2004 16:04

Re: löschen sich komponenten ?
 
Du führst das TLabel.Create... bei JEDEM Button-Klick aus! Das ist sicher nicht so gewollt...

stefan

der t0r 12. Jul 2004 16:07

Re: löschen sich komponenten ?
 
ja nee dehalb ja button1.enabled:=false .. die andere routine regelt der 2. button

xineohp 12. Jul 2004 16:23

Re: löschen sich komponenten ?
 
moin,


so gehts:
Delphi-Quellcode:
//Karten neu legen
  for i:=1 to 3 do begin
    for j:=1 to 7 do begin
      case i of
        1: arr1[j]:=stapel[j];
        2: arr2[j]:=stapel[7+j];
        3: arr3[j]:=stapel[14+j];
      end;
    end;
  end;

der t0r 13. Jul 2004 20:41

Re: löschen sich komponenten ?
 
juhuuuuuu :D :-D danke man du hast mir echt noch ne schlaflose nacht erspart ^^.. aber warum geht das so und mit meiner lösung nicht? ich hab nachgerechnet der spricht auch so alle mitglieder des arrays an... :gruebel: trotzdem nochmal danke ! :cheers:

der t0r 13. Jul 2004 21:10

Re: löschen sich komponenten ?
 
muss mich leider berichtigen ich weiss warum es funzt: es ist nicht das was ich will (halo murphy's law :P)... naja ich komm schon noch dahinter... :mrgreen:

TStringlist 13. Jul 2004 23:14

Re: löschen sich komponenten ?
 
hi, was war nochmal dein Problem genau? Das nachher nur noch mehr 15 Labels da sind?

Sofern ja, läge dann der Fehler in deiner Berechnung der jeweilig neuen Left-Koordinate deiner Labels.

Für die Labels in den drei Arrays (arr1,arr2,arr3) ergäben sich dann nämlich folgende Left-Positionen:

arr1: 30, 60, 90, 120, 150, 180, 210
arr2: 60, 120, 180, 240, 300, 360, 420
arr3: 90, 180, 270, 360, 450, 540, 630

Wenn man jetzt genau hinguckt, dann haben also 6 Labels immer solche Left-Koordinaten, die mit denen anderer identisch sind, ergo: es gibt also immer 6 Labels die direkt unter anderen liegen und damit nicht mehr sichtbar sind, Resultat: zu sehen sind damit also immer nur noch mehr jeweils 15.


...wie gesagt, nur sofern es das auch war, was dich störte :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 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