AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi wie initialisiert man am besten Variablen-Typen?
Thema durchsuchen
Ansicht
Themen-Optionen

wie initialisiert man am besten Variablen-Typen?

Ein Thema von juergen · begonnen am 10. Sep 2005 · letzter Beitrag vom 19. Sep 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#11

Re: wie initialisiert man am besten Variablen-Typen?

  Alt 10. Sep 2005, 19:48
Vielleicht schaust du dir auch mal einen Styleguide an. Ich finde den Code recht schwer zu lesen, da du z.b. if, then und begin in die gleiche Zeile schreibst und nicht das begin so eine neue Zeile, dass du das zugehörige end direkt darunter schreibst. So gibt es nämlich auch bei größeren Schachtelungen noch die Möglichkeit jedem end sicher ein begin zuzuordnen. Denn wenn da mal was schiefläuft wird es sehr schwer werden, da den Fehler zu finden und zu korrigieren.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: wie initialisiert man am besten Variablen-Typen?

  Alt 10. Sep 2005, 20:58
@Toxman: Hier geht's nicht um Preise in Schönheit. Wenn dir das Format nicht passt, Du aber etwas Konstruktives beitragen willst, dann kopier dir den Code und DelForExp den einfach. oder JCL formatte, oder Greg's formatte ihn, oder was man sonst noch. Ach ja, früher gabs auch 'Pretty printer'.

Und @juergen: Lass Dir wegen a,b und c nichts einreden. Das ist völlig legitim, das es um einfache Berechnungen geht.

Unabhängig davon würde ich stur alle Variablen peu-a-peu initialisieren, so wie Du das mit a,b und c exerziert hast. Allerdings sind 20 lokale Variablen in einer Routine ein Indiz für 'schlechte' Programmierung, bzw. für Dich ein Ansporn, etwas zu verbessern.

Etwas aus Faulheit nicht auszucoden, MUSST Du Dir abgewöhnen. Faulheit beim coden ist zwar legitim, sollte aber nur dazu dienen, Fragmente zu zentralisieren: Bevor ich 1000x folgendes schreibe....
Delphi-Quellcode:
....
  If not Assigned (fmSomeForm) Then
    Application.Createform (TfmSomeForm, fmSomeForm)
...
baue ich mir eine Routine
Delphi-Quellcode:
Procedure CreateForm (aFormClass : TFormClass; Var aForm : TForm);
Begin
  If not Assigned (Instance) Then
    Application.Createform (aFormClass, aForm)
End;
Hier dient die Faulheit zur Erhöhung der Übersichtlichkeit (eine unserer Hauptregel für's Coden).
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: wie initialisiert man am besten Variablen-Typen?

  Alt 10. Sep 2005, 22:20
Moin Jürgen,

eines noch, was ich vorhin vergessen habe:

Statt
If Flset = false then begin solltest Du besser
If not Flset then begin Bei booleschen Vergleichen sollte man nie auf gleich true oder gleich false prüfen.
Die andere Variante liest sich IMHO leichter, und in Windows wird meist ein Wert gleich 0 als false angesehen und ungleich 0 als true.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#14

Re: wie initialisiert man am besten Variablen-Typen?

  Alt 10. Sep 2005, 23:21
also die initialisierung von a,b und c ist doch eh überflüddig (wenn ich nichts übershen habe, weil entweder du liest die mit strtofloat ein, oder du machst damit grundsätzlich nichts. In solchen Fällen solltest du grundsätzlich darüber nachdenken, ob du nicht 2 procedures anlegst...

Unterprozeduren gehen so:
Delphi-Quellcode:
procedure myproc;
var a,b,c: double;
  procedure initvars;
  begin
      a :=0;
      b :=0;
      c :=0;
  end;
begin
    //code
end;
wird dir aber hier glaube ich garnicht weiterhelfen. Grundsätzlich ist es aber eben einfach so, dass genau, wie du lokale Variabeln verwendest, kannst du auch lokale Prozeduren verwenden, mit den gleichen Regeln.

Ich bin mir nicht sicher, ob ich dir das jetzt sagen sollte, weil, wenn mir jemand sowas gesagt hat, hat mich das eigentlich nur genervt, weil ich es eh nicht hinbekommen hätte...
Aber gut: Ein kleiner Hinweis am Rande: Es ist besser du leitest dir von TCostumEdit eine Klasse TIntEdit oder so ab, die eine Eigenschaft Value hat (die dir direkt den zum integer konvertierten string gibt) und außerdem verhinderst du noch, dass der user überhaupt etwas anderes eingibt, als zahlen und kommas.

Ober gut, kleiner Tipp: Bei JVCL ist schon sowas fertig dabei, dann kannst du dir das mit dem selber machen sparen...

Aber das nur mal so als Tipp für die Zukunft (try-exept ist da nicht das Wahre...). Für den Anfang kannst du es aber dabei belassen...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.170 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: wie initialisiert man am besten Variablen-Typen?

  Alt 11. Sep 2005, 13:13
Hallo zusammen,
vielen, vielen Dank für die sehr nützlichen, weil konstruktiven Hinweise!!!!
Ich bin über Crystal Report zum eigentlichen programmieren gekommen. (das gewünschte Ergebnis hatte ich immer erhalten..., der Rest: naja )
Aber mir fehlen eben einfach grundlegende Kenntnisse.
@ Toxman,
super, du hast mir einen schon immmer gesuchten Begriff aufgezeigt --> Styleguide!!!!!!
Wenn man nicht weiß wonach man suchen muss....
Hier werde ich wohl vieles nützliches finden!


@alzaimar

Hier dient die Faulheit zur Erhöhung der Übersichtlichkeit (eine unserer Hauptregel für's Coden). das war der Hauptgrund meines Postes. Danke!

@Christian

If not Flset then begin Zumindestens im Moment fällt mir diese Denkweise noch ziemlich schwer.
Das man bei boolschen Vergleichen nicht auf GLEICH (true oder False) prüfen sollte ist mit komplett neu.
Danke für den Hinweis!

Ps.: Super! Dein Codevorschlag hat funktioniert! Ich kannte bis heute nacht den Typ "Record" nicht.

@yankee
Danke für das Aufzeigen, wie Unterproceduren funktionieren!

 also die initialisierung von a,b und c ist doch eh überflüddig leider ist das doch nicht so einfach wie es in dieser einen Procedur aussieht:
1.) kann diese Procedur mehrmals ausgeführt werden,
2.) verwende ich die selben Variablen in den verschiedensten Proceduren

und außerdem verhinderst du noch, dass der user überhaupt etwas anderes eingibt, als zahlen und kommas. die Eingabe der "richtigen" Zeichen regele ich inzwichen generell über ein OnKeyPress-Ereignis. (allerdings weiß ich nicht ob ich das so lassen werde...) Die Aufbröselung der eingegebenen Zeichen, vor allem das unterscheiden ob ein Trennzeichen eingegeben wurde, ist für die verschiedensten mathem. Rechenoperationen unumgänglich.

Ober gut, kleiner Tipp: Bei JVCL ist schon sowas fertig dabei, Ich habe hier schon einiges über die JVCL gelesen. Im Moment möchte (oder muss) ich mich auf meine wesentlichen Punkte konzentrieren, da ich enorm viel Zeit allein dafür aufwenden muss.


Also, allen nochmals vielen Dank und noch einen schönen Sonntag!

Gruß Jürgen
Jürgen
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#16

Re: wie initialisiert man am besten Variablen-Typen?

  Alt 19. Sep 2005, 19:21
Zitat von juergen:
@Christian

If not Flset then begin Zumindestens im Moment fällt mir diese Denkweise noch ziemlich schwer.
Das man bei boolschen Vergleichen nicht auf GLEICH (true oder False) prüfen sollte ist mit komplett neu.
Danke für den Hinweis!
Also ich schreibe zwar reichlich spät , aber ich schreibe:
Das Problem ist, dass du immer nach einem Boolean fragst. Bloß, wenn du var=3 schreibst, dann machst du daraus einen Boolean:
Delphi-Quellcode:
var
  bool: Boolean;
  int: integer;
begin
  int :=5;
  bool :=(int=5);
  if bool then ; //das hier ist das gleiche wie
  if int=5 then ; //das hier. Man könnte sagen das hier ist eine Kurzschreibweise
end;
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.170 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: wie initialisiert man am besten Variablen-Typen?

  Alt 19. Sep 2005, 19:48
@ yankee,
beim erzeugen des Formulars initialisiere ich in meinem Beispiel eine GLOBALE Varible "Flset" auf False.
Bei bestimmten Events wird diese Variable dann auf True gesetzt...
Man kann diesen Zusammenhang in meiner aufgezeigten Procedure natürlich nicht erkennen.
Ein Teil der Variablen sind lokale, ein anderer Teil globale Variablen.
Danke für dein Beispiel und viele Grüße
Jürgen
Jürgen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:45 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