AGB  ·  Datenschutz  ·  Impressum  







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

try..finally

Ein Thema von RavenIV · begonnen am 10. Mär 2005 · letzter Beitrag vom 11. Mär 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von FAlter
FAlter

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

Re: try..finally

  Alt 10. Mär 2005, 19:30
[OT]

Stimmt, wenn du es auf ein Papier schreibst, beschwert sich der Compiler auch nicht...

Nun ja, ich nutze begin..end nur da, wo ich es brauche, da ich schreibfaul bin, eine Ausnahme ist sowas:

Delphi-Quellcode:
if a then //wenn a = true
  if b then //und b = true
    Anw1
  else //und b = false
    Anw2;

  if a then //wenn a = true
    if b then //und b = true
      Anw1
  else //wenn a = false, egal, was in b
    Anw2;
Da weiß weder ich noch Delphi ohne begin..end, welche Variante gemeint ist. (Ich möglicherweise doch wegen dem Einrücken.) Delphi meckert beim Compilieren nicht, aber ob es die Variante nimmt, die ich will?

[/ot]
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: try..finally

  Alt 10. Mär 2005, 20:31
[OT]
@FAlter:
Folgende Variante dürfte dann gemeint sein (unabhängig davon, wie man den Quelltext einrückt):
Delphi-Quellcode:
if a then //wenn a = true
  if b then //und b = true
    Anw1
  else //und b = false
    Anw2;
Für die andere Variante wird begin..end benötigt:
Delphi-Quellcode:
if a then begin//wenn a = true
  if b then//und b = true
    Anw1;
end
else//wenn a = false
  Anw2;
[/OT]

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

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

Re: try..finally

  Alt 10. Mär 2005, 20:37
[ot]

Wie gesagt, ich nehm immer begin und end in solch einem Fall, da ich sonst möglicherweise selber durcheinanderkomme. In allen anderen Fällen versuch ich möglichst wenig zu schreiben also ohne Begin und end.

[/ot]

Manchmal mach ich auch sowas:

Delphi-Quellcode:

  with TBitmap.Create do
  try
    //...

    BitBlt(...); //BitBlt von {DieBitmap.}Canvas.Handle auf
                 //self.Canvas.Handle, also von der Kompo oder voms Form
  finally
    Free;
  end;
Vor allem, wenn ich zu faul bin, hochzuscrollen, um mit erstmal 'ne var Buffer: TBitmap anzulegen.
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#14

Re: try..finally

  Alt 10. Mär 2005, 21:13
Hi,

@FAlter/Binärbaum: Alternativ geht's auch so:
Delphi-Quellcode:
if (a) then
  if (b) then
    anw1
  else anw2;

// im gegensatz zu:
if (a) then
  if (b) then
    anw1
  else
else anw2;
cu
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#15

Re: try..finally

  Alt 10. Mär 2005, 22:36
[OT] (BEGIN & END).SindGedachtfuer := 'Um mehrere Codezeilen auszuführen!'; [/OT]

Ist ja ein unterschied ob man..
Delphi-Quellcode:
if x < y then
DOWAS;
DOAUCHWAS;
..schreibt, oder..
Delphi-Quellcode:
if x < y then begin
  DOWAS;
  DOAUCHWAS;
end;
..schreibt, der compilierte Code dürfte denke ich allerdings nicht länger sein!

P.s.: Sry 4 Off Topic!
Felix K.
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#16

Re: try..finally

  Alt 11. Mär 2005, 13:42
Zitat von Speedmaster:
[OT] (BEGIN & END).SindGedachtfuer := 'Um mehrere Codezeilen auszuführen!'; [/OT]

Ist ja ein unterschied ob man..
Delphi-Quellcode:
if x < y then
DOWAS;
DOAUCHWAS;
..schreibt, oder..
Delphi-Quellcode:
if x < y then begin
  DOWAS;
  DOAUCHWAS;
end;
..schreibt, der compilierte Code dürfte denke ich allerdings nicht länger sein!

P.s.: Sry 4 Off Topic!
Kein Problem @ begin..and: ich find's übrigens schlecht, wenn man das begin gleich hinter dem then schreibt. Ich hab mir inzwischen (imo) einen ziemlich guten Programmierstil angewohnt und ich finde sowas macht den Code so unstrukturiert.... Aber jeder muss wissen wie er das macht. (Ich setze auch bei if die Bedinung wenn sie länger als z.B. i=1 ist in Klammern)

mfg
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: try..finally

  Alt 11. Mär 2005, 14:00
Die ganzen If-Anweisungen hier haben nichts mit der eigentlichen Problematik, die im 1. Beitrag angesprochen wurde, zu tun. Bitte kommt wieder zurück zum Thema, danke.
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#18

Re: try..finally

  Alt 11. Mär 2005, 14:15
Zitat von Matze:
Die ganzen If-Anweisungen hier haben nichts mit der eigentlichen Problematik, die im 1. Beitrag angesprochen wurde, zu tun. Bitte kommt wieder zurück zum Thema, danke.
Doch. Er hat gefragt, ob das mit begin...end einen Unterschied macht. Und (genau) um das geht's immer noch!
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#19

Re: try..finally

  Alt 11. Mär 2005, 14:26
Zitat von mr47:
Kein Problem @ begin..and: ich find's übrigens schlecht, wenn man das begin gleich hinter dem then schreibt. Ich hab mir inzwischen (imo) einen ziemlich guten Programmierstil angewohnt und ich finde sowas macht den Code so unstrukturiert.... Aber jeder muss wissen wie er das macht. (Ich setze auch bei if die Bedinung wenn sie länger als z.B. i=1 ist in Klammern)

mfg
Ist meiner Meinung nach Geschmackssache!
Ich bevorzuge meinen Code so:

Delphi-Quellcode:
if anything > everything then begin
  WriteLn('Na du?');
  WriteLn('Heute abend zeit?');
end;

// Nach einem Leerzeichen weiter quelltext o. Kommentar und dannach der nexte Quelltext
if x > Y then MachNIX;

Und stimme mr47 zu, wir sind eigentlich noch beim Thema, den es geht ja um begin und end!
Felix K.
  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 15:19 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