AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Problem bei case // Problem bei Komponenten löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei case // Problem bei Komponenten löschen

Ein Thema von Metallicwar · begonnen am 2. Sep 2010 · letzter Beitrag vom 3. Sep 2010
 
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.355 Beiträge
 
Delphi 11 Alexandria
 
#30

AW: Problem bei case // Problem bei Komponenten löschen

  Alt 3. Sep 2010, 13:51
nein, nicht wirklich:

Delphi-Quellcode:
procedure TForm1.BitBtnDruckenClick(Sender: TObject);
var
  iChecked, iZaehler, iGecheckteFrames, iY, iRunter, iErstellteFrames, i: Integer; // hier schon einrücken
begin
  Formular := TForm.Create(Self); // Leerzeichen
  Formular.ClientHeight := 1500;
  Formular.ClientWidth := 670;
  L := TComponentList.Create; // Leerzeichen + Groß/Kleinschreibung
  L.OwnsObjects := False;
  iGecheckteFrames := 0;
  iErstellteFrames := 0;
  iY := 0;
  iRunter := 0;
  iZaehler := 0;
  for iChecked := 0 to CheckListBox1.Items.Count - 1 do
  begin // Was soll in der Schleife laufen? Bis incl. Formular.Show? Dann wird das Formular Items.Count mal angezeigt.
    if CheckListBox1.Checked[iChecked] then
    begin // alles folgende wird bei Checked durchgeführt, Formular.Show aber immer
      if iZaehler < 10 then
      begin
        Frames := TFrame4.Create(Self);
        L.Add(Frames);
        Frames.ClientHeight := 200;
        Frames.Name:='';
        iZaehler := iZaehler + 1;
        iGecheckteframes := iGecheckteframes + 1;
        Frames.Parent := Formular;
      end;
    //end; dieses End würde bedeuten dass die Checked-Bedingung nur bis hierher gelten würde
      case iZaehler of
        10: begin
              for I := l.Count -1 downto 0 do
              begin
                Frames:= (L[i] as TFrame4);
                Frames.Free;
                iZaehler := 0;
              end;
              //begin <- unnötig
              if iGecheckteFrames = 13 then
                ShowMessage('Formular in Zwischenablage kopieren + Formular leeren');
              //end; < unnötig
            end;
         0: begin
              Frames.Top := iY;
              if iGecheckteFrames = 13 then
                ShowMessage('Zwischenablage drucken + aktuelle Form leeren');
            end;
      2..5: begin
              Frames.Top := iY + Frames.ClientHeight;
              iY := Frames.Top;
              Frames.Parent := Formular;
              if iGecheckteFrames = 13 then
                ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
            end;
         6: begin
              Frames.ClientHeight := 200;
              Frames.Name := '';
              Frames.Left := 350;
            end;
      7..9: begin
              Frames.Left := 350;
              Frames.Top := iRunter + Frames.ClientHeight;
              iRunter:= Frames.Top;
              if iGecheckteFrames = 13 then
                ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
            end;
      end;
    end;
    Formular.Show;
  end;
end;
Soweit mal ungetestet auf die Schnelle.
Auf jeden Fall hat man jetzt die Chance, sich ungefähr zurecht zu finden.
Die Leerzeichen und Groß/Klein-Schreibung ist vielleicht etwas Krümelkackerei, man sollte sich das aber gleich so angewöhnen, da man so viel schneller mögliche Tippfehler findet.

Ich weiß aber ehrlich gesagt jetzt nicht genau, was Du genau erreichen willst bzw. wo etwas nun nicht wie erwartet klappt (Du hast da einfach schon zu viele Varianten beschrieben).

Also nun nochmal:
- ordne Deinen Quelltext
- setze einen Breakpoint und arbeite den Quelltext schrittweise ab
- stelle konkrete Fragen mit präziser Problembeschreibung (dann kommt man oft bei einer Problemformulierung schon selbst auf die Lösung - kannst Du mir glauben )
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
 


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 10:47 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