Einzelnen Beitrag anzeigen

Benutzerbild von BMI
BMI

Registriert seit: 16. Jul 2010
58 Beiträge
 
Delphi 2 Desktop
 
#10

AW: Try except - Functions - wie tief

  Alt 24. Feb 2015, 07:50
Hier neu:

Also ich möchte nochmal fragen, weil ich nicht im ersten Thread den Code verändfern wollte, da sonst die Quotes nicht mehr stimmig sind = ich hoffe, das ist eine gute Entscheidung.

Ich habe auch versucht, Eure Ratschläge umzusetzen (soweit ich das verstanden habe - hoffentlich richtig)

Was ich nämlich brauche:
Delphi-Quellcode:
Function Umbenennen_vorbereiten()
begin
    BewegeDatei(Move/Überschreiben())
end;

Button.click()
begin
    if FileExists(neuerOrt) then
          Umbenennen_vorbereiten() // über Umweg mit AuswahlDialog
else
   BewegeDatei() // direkt
end
Die function BewegeDatei soll also so oder so aufgerufen werden [sie enthält u.A. moveFile() bzw. moveFileEx()=^Überschreiben, was je nach gesetzter Checkbox ausgeführt wird - entweder kann sie direkt sufgerufen werden (Datei existiert nicht) oder es wird erst in der Funktion Umbenennen_vorbereiten ein Dialog erstellt und abgefragt und von dort die Funktion BewegeDatei aufgerufen.


Delphi-Quellcode:
 // /////// ACHTUNG: GEÄNDERTE, aktuelle, reale FUNCTION NAMEN !
implementation

{$R *.DFM}

function BewegeDatei(Ort_A: string; Ort_B): boolean; // ehemals "Zweite Function"

begin
  try // wohl das einzige, try, was bleiben darf ?!!
      moveFile(Ort_A, Ort_B) // ShowMessage('Verschieben klappt');
  except
    ShowMessage('Meldung aus zweiterFunc: Verschieben klappt irgendwie nicht');
  end;
end; // End Function BEWEGEN


function Umbenennen_vorbereiten(Bla: string; Blubb: string): boolean; // ehemals "erste Funcition"
var erste: integer;
begin
// try
    ExtensionExtrahieren(OrtB);
    NeuerDateiName := OrtB + inc(Zahl) + Extension; // Namensfindung abgekürzt!

       if NOT BewegeDatei(OrtA, NeuerDateiName ) then
// except
    ShowMessage('Hier gibt s ein echtes Problem: Datei läßt sich nicht bewegen.');
  end;
end; // END FUNCTION Umbenennen


procedure TForm1.Button1Click(Sender: TObject); ///////// BUTTON
var SOURCE: integer;
begin
//try
   if Bewege('C:\Datenlager.txt', ''E:\Datenlager.txt'') then
     Dateiliste.delete(MaximalwertDerListe-1) //als erledigt von Liste streichen
else
// except hier gibt es dann ein Problem // ehemals:
 ShowMessage('Es hat gar nix funktioniert');

  end;
end; // END BUTTON

end.
Mhh, kann das so ^^ klappen?

Danke.
eine Signatur? - in 2022? - WOZU ?!!!

Geändert von BMI (24. Feb 2015 um 08:09 Uhr)
  Mit Zitat antworten Zitat