AGB  ·  Datenschutz  ·  Impressum  







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

Logisches problem

Ein Thema von SaFu · begonnen am 27. Jan 2007 · letzter Beitrag vom 28. Jan 2007
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: Logisches problem

  Alt 27. Jan 2007, 13:23
Zitat von fuknersascha:
Hab gerade ein Problem und komm einfach nicht drauf.
Hi,
das eigentliche Problem ist kein Logisches! Sorry, aber ich glaube dein eigentliches Problem ist deine Code-Formatierung. Die solltest Du mal ganz dringend überdenken! Sehe ich das richtig, dass Du einzelne begin end; Blöcke verwendest, die nicht weiter zu einer Bedingung/Strucktur gehören? Warum?
Dann solltest Du auch tunlichst die begins und ends korrekt einrücken. An sich solltest Du die 1. auch ruhig in eine eigene Prozedur auslagern. Erhöht einfach die Lesbarkeit!

Ja, für die Lesbarkeit solltest Du immer Einiges tun! Gute Lesbarkeit hilft Fehler zu vermeiden und sollten doch welche drin sein, findest Du die leichter. Form7, Button2, ComboBox4, ... keine guten Namen.

Versuche es mal so:
Delphi-Quellcode:
procedure TForm7.Button2Click(Sender: TObject);
var x,y:integer;
begin
  if ComboBox4.Text <> 'then
   begin
     if ComboBox3.Items.IndexOf(ComboBox4.text)> -1 Then
     begin
       Application.MessageBox(' Vertretungsplan Existiert ','Speicherinformation',48);

       if not ComboBox4.Items.IndexOf(ComboBox4.Text) > -1 Then
       begin
         Combobox4.Items.Add(ComboBox4.Text);
       end; // if not ComboBox4.Items.IndexOf(ComboBox4.Text) > -1

       //1.
       Combobox3.Items.Add(ComboBox4.Text);// Text in die ComboBox3 List übergeben
       Vertrpl:= TStringlist.Create; // Stringliste erzeugen
       Vertrpl.Add(IntToStr(StringGrid1.Colcount));
       Vertrpl.Add(IntToStr(StringGrid1.Rowcount));
       
       for x:= 0 to StringGrid1.ColCount-1 do
       begin
         for y:= 0 to StringGrid1.RowCount-1 do
         begin
           Vertrpl.Add(StringGrid1.Cells[x,y]);
         end; // for y:= 0 to StringGrid1.RowCount-1

         Vertrpl.Add(IntToStr(StringGrid1.ColWidths[x]));
         Vertrpl.Add(IntToStr(StringGrid1.RowHeights[x]));
       end; // for x:= 0 to StringGrid1.ColCount-1
          
       Vertrpl.Add(IntToStr(StringGrid1.Clientwidth));
       Vertrpl.Add(IntToStr(StringGrid1.Clientheight));
       Vertrpl.Add(IntToStr(Ord(StringGrid1.ScrollBars)));
       plan:= ExtractFilePath(ParamStr(0))+'Vertretungspläne\'+ ComboBox4.Text +'.txt';
       Vertrpl.SaveToFile(plan);
       Showmessage('Datei wurde in:' + sLineBreak + plan + ' gespeichert');
       Vertrpl.Free;
                   
       lehrerl:= ExtractFilePath(ParamStr(0)) +'\Lehrer Liste\'+ 'liste.txt';
       ComboBox3.Items.SaveToFile(lehrerl);
       Form8.ListBox1.Clear;
       lehrerl2:= ExtractFilePath(ParamStr(0)) +'\Lehrer Liste\'+ 'alleLehrer.txt';
       Combobox4.Items.SaveToFile(lehrerl2);
       lehrerl:= ExtractFilePath(ParamStr(0)) +'\Lehrer Liste\'+ 'liste.txt';
       Form8.ListBox1.Items.LoadFromFile(lehrerl);
       Button7.click;
     end; // if ComboBox3.Items.IndexOf(ComboBox4.text)> -1
  end // if ComboBox4.Text <> ''

  else
  begin
    Application.MessageBox('Bitte Name eingeben','Speicherinformation',48);
  end;
end;
Ich hoffe Du siehst hier schon einen Fortschritt in der Lesbarkeit. Das ist aber nur ein Anfang! Du solltest wie gesagt noch mehr kleine Prozeduren (mit sprechendem Namen!) einführen, so dass man schnell siehst, was genau gemacht wird.

Gruß Der Unwissende

[edit]
Wo war der rote Kasten?!
[/edit]
  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 17:49 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