Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Datei aus dem Papierkorb wiederherstellen (https://www.delphipraxis.net/181581-datei-aus-dem-papierkorb-wiederherstellen.html)

Dalai 27. Aug 2014 22:14

AW: Datei aus dem Papierkorb wiederherstellen
 
Warum ist
Delphi-Quellcode:
DateiListe
der Methode
Delphi-Quellcode:
TPapierkorb.ErstellePKDateiListe
ein
Delphi-Quellcode:
var
-Parameter? Stattdessen gehört da ein
Delphi-Quellcode:
const
hin, weil der Zeiger auf die Liste konstant zu bleiben hat; Strings hinzufügen kann man trotzdem. Ich weiß, meckern ist immer einfach ;).

MfG Dalai

Benmik 27. Aug 2014 23:28

AW: Datei aus dem Papierkorb wiederherstellen
 
Bei himitsu kann man sich darauf verlassen, dass bei Schlampereien in puncto Speicherlecks und Fehlerbehandlung nicht das Florett, sondern der Morgenstern oder gleich die Pumpgun rausgeholt wird! :thumb:

Zitat:

Und die Try-Except sind das Schlimmste, was ich je gesehn hab.
Besser so ein Rekord als gar keiner...
Zitat:

...sorgt es dafür, daß der Nachfolgende Code (bis zum nächsten Except) nicht fehlerhaft ausgeführt wird.
Und genau das war mein Ziel, das Programm soll nicht knallen. Behandlung und Fehlerergründung und gar noch ausführliche Interaktion hierüber mit dem armen Anwender waren nicht mein Ziel, was soll es hier bringen? Durch den Rückgabewert weiß der Programmierer, dass es nicht geklappt hat, und was er dann tut und was er dem Anwender sagt, ist seine Sache.
Zitat:

SameFileName
Hm. Wenns die Funktion gibt, dann soll man sie wohl auch verwenden.

Hallo Dalai, du hast Recht.

Dejan Vu 28. Aug 2014 06:34

AW: Datei aus dem Papierkorb wiederherstellen
 
Bezüglich Fehlerbehandlung geht man eigentlich davon weg, den Anwender einer Methode durch Rückgabewerte über den Erfolg oder Misserfolg zu informieren. Stattdessen werden Exceptions eingesetzt. Der Grund ist einfach: Der Code ist lesbarer.
Delphi-Quellcode:
// Statt:
var
  r : TMethodResult;

begin
  r := ThisMethod();
  if r = Success then begin
    r := ThatMethod();
    if r = Success then
      DoSomething
    else
      ErrorHandling(r);
  end else
    ErrorHandling(r);
...
// Lieber
  Try
    ThisMethod();
    ThatMethod();
    DoSomething();
  Except
    On e:EMyMethodException do
      ErrorHandling(e);
  End
Wenn Du also noch eine EPapierkorb-Exception Klasse deklarierst und dann in dieser Exception den genauen Grund des Scheiterns lieferst, kann der Anwender die sehr elegante und -finde ich- einfacher lesbarere zweite Variante verwenden.

Und das mit der For-Schleife... Decke bitte den Mantel der Nächstenliebe über meinen Einwand. Danke hoika. :oops:

himitsu 28. Aug 2014 09:50

AW: Datei aus dem Papierkorb wiederherstellen
 
Zitat:

Zitat von Benmik (Beitrag 1270060)
Besser so ein Rekord als gar keiner...

Oder besser nichts/weniger, als etwas Schlimmes.

* Auto mit Airbag
* Auto ohne Airbag
* Auto mit nicht funktionierendem Airbag, wo alle denken "ich brauch mich nicht anschnallen ... bin ja geschützt"

Ob ein bissl, ein bissl mehr oder der Superschutz, ist erstmal egal,
aber grob fahrlässigen Pfusch sollte man doch besser lassen.

Sir Rufo 28. Aug 2014 10:06

AW: Datei aus dem Papierkorb wiederherstellen
 
Und ich dachte immer, dass ein Airbag nur dann schützt, wenn man angeschnallt ist. Ohne Anschnallen ist das Verletzungsrisiko mit Airbag sogar höher.

http://www.unfallzeitung.de/zeitung/...e-alleskoenner

himitsu 28. Aug 2014 10:25

AW: Datei aus dem Papierkorb wiederherstellen
 
Das ist ein Superairbag, der kann das. :stupid:

Sir Rufo 28. Aug 2014 10:31

AW: Datei aus dem Papierkorb wiederherstellen
 
Zitat:

Zitat von himitsu (Beitrag 1270111)
Das ist ein Superairbag, der kann das. :stupid:

Den kenn ich http://www.youtube.com/watch?v=RnyhkBU1yaw

himitsu 28. Aug 2014 10:33

AW: Datei aus dem Papierkorb wiederherstellen
 
Genau der :lol:

DeddyH 28. Aug 2014 10:35

AW: Datei aus dem Papierkorb wiederherstellen
 
Tut mir einen Gefallen und friert mich bitte wieder ein :mrgreen:

Nu aber genug OT, oder?

Benmik 28. Aug 2014 14:14

AW: Datei aus dem Papierkorb wiederherstellen
 
Wie ich bereits schrieb, ist der entscheidende Code im ersten Post nicht von mir. Er ist von einem Delphi-Experten mit "Genius"-Status, 1.594.234 Punkten und 1.327 akzeptierten Lösungen. Er hat seinen Code vorgestellt als etwas, das ein Problem löst, damit die Hauptarbeit leistet, und die Basis für die eigene Ausarbeitung liefert. Reaktionen auf seine freundliche Hilfe a la "sind das Schlimmste, was ich je gesehn hab" und "grob fahrlässigen Pfusch sollte man doch besser lassen" hat er im Gegensatz zu mir nicht bekommen. Ich bin sicher, dass jeder, der sich genauso mit dem Problem herumschlägt wie ich es getan habe, so dankbar für meine Arbeit sein wird, wie ich es immer bin, wenn ich etwas finde; auch wenn die Vorlage nicht perfekt ist.

Mein lieber himitsu, in punkto Delphi werden dir nicht viele etwas vormachen, aber in punkto freundliche Umgangsformen ist noch extrem viel Luft nach oben. Du darfst dir sehr gern ein Beispiel an Dejan Vu nehmen, der erst Anerkennung gezollt und dann Kritik angebracht hat, und zwar konstruktive. Völlig inakzeptabel finde ich, dass du in deinem ersten Post auch noch Codeteile aus meiner ersten, bereits obsoleten Version, einer vernichtenden Kritik unterzogen hast. Das nennt man Nachtreten. Ich vermute mal, dich nerven Amateure. Soweit ich sehen kann, ist die DP aber alles andere ein exklusives Profiforum. Als jemand, der zu 99% mitliest und nur in Ausnahmefällen selbst etwas vorstellt, bin ich sicher, dass viele stille Mitleser sich jetzt noch sehr viel mehr als vorher überlegen werden, ob sie für die Allgemeinheit interessante Codestücke nicht lieber still für sich behalten. Und zum Schluss, mein lieber himitsu, ist dir mal aufgefallen, dass mein Pfusch-Code sehr nützlich ist und einfach gut funktioniert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.
Seite 2 von 3     12 3      

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