Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Projektstart autom. Archivierung (https://www.delphipraxis.net/16111-projektstart-autom-archivierung.html)

Ati 10. Feb 2004 14:56


Projektstart autom. Archivierung
 
Mahlzeit Leute,
ich beschäftige mich zwar schon einige Zeit mit Delphi, habe aber bisher noch kein größeres Programm gemacht. Jedoch ist es jetzt soweit. Und zwar möcht ich ein Programm erstellen, welches z.B. jeden Tag um 19.00 Uhr die Datei "test" in einen Ordner als "Test+Datum" speichert. Das alleine würd ich vielleicht noch hinbekommen, jedoch soll das Programm so gestaltet sein das eventuell noch andere Dateien nach einem ähnlichem Schema archiviert werden können (quasi editierbar). Jetzt bräuchte ich mal einen kleinen Gedankenanstoß wie ich sowas hinkrieg. Und wenn es nur "Stichworte" sind, so reicht mir das auch , den Rest werd ich schon hinkriegen (hoffe ich zumindest).

Gruß Ati

MikeS 10. Feb 2004 15:06

Re: Projektstart autom. Archivierung
 
nimm dich ein memo in das du die datein einträgst die archiviert werden
sollen und dann arbeitest du die in einer Schleife ab.

das nur ein kleiner ansatz!

beschreibe doch mal ein paar konkrete Probleme!
:wink:

Tpercon 10. Feb 2004 15:11

Re: Projektstart autom. Archivierung
 
Und natürlich noch einen Timer für die Uhrzeit.

MikeS 10. Feb 2004 15:13

Re: Projektstart autom. Archivierung
 
Wieso Timer :?:

wie wäre es denn mit DateTime(Now) oder so ähnlich!
hab gerade kein Delphi zum nachsehen!

Tpercon 10. Feb 2004 15:18

Re: Projektstart autom. Archivierung
 
Zitat:

Zitat von MikeS
Wieso Timer :?:

wie wäre es denn mit DateTime(Now) oder so ähnlich!
hab gerade kein Delphi zum nachsehen!

Wie willst du denn sonst dein Prog dazu bewegen selbstständig um 19 Uhr etwas zu machen?!

Ati 10. Feb 2004 15:19

Re: Projektstart autom. Archivierung
 
Das waren eigentlich schon so die richtigen Schubser die ich brauchte (Memo und Schleifen).
Das mit dem Timer hatte ich mir auch schon so überlegt. Aber da Ihr ja so masochistisch angehaucht seid :-D werd ich Euch mal was konkret präsentieren. Also die erste Datei liegt auf \\kfo\qlik-view\kxlf02_1 und soll nach \\kfo\archiv\kxlf02_1_090204 kopiert werden. Jetzt könnte es aber sein das wir noch andere Dateien auf dem Server in einen Ordner arvhivieren wollen. Dies soll man nachträglich realisieren können

MikeS 10. Feb 2004 15:20

Re: Projektstart autom. Archivierung
 
Zitat:

Zitat von Tpercon
Zitat:

Zitat von MikeS
Wieso Timer :?:

wie wäre es denn mit DateTime(Now) oder so ähnlich!
hab gerade kein Delphi zum nachsehen!

Wie willst du denn sonst dein Prog dazu bewegen selbstständig um 19 Uhr etwas zu machen?!

OK! :oops:

Tpercon 10. Feb 2004 15:25

Re: Projektstart autom. Archivierung
 
Erstmal noch Herzlich Willkommen im Forum.

Zitat:

Zitat von Ati
Das waren eigentlich schon so die richtigen Schubser die ich brauchte (Memo und Schleifen).
Das mit dem Timer hatte ich mir auch schon so überlegt. Aber da Ihr ja so masochistisch angehaucht seid :-D werd ich Euch mal was konkret präsentieren. Also die erste Datei liegt auf \\kfo\qlik-view\kxlf02_1 und soll nach \\kfo\archiv\kxlf02_1_090204 kopiert werden. Jetzt könnte es aber sein das wir noch andere Dateien auf dem Server in einen Ordner arvhivieren wollen. Dies soll man nachträglich realisieren können

Wo liegt jetzt das Problem?
Du mußt ja nur den Quellordner, bzw. welche Dateien daraus und den Zielordner wissen. Der Rest ist einfaches kopieren.

Ati 10. Feb 2004 15:33

Re: Projektstart autom. Archivierung
 
Naja. Ich wollte das schon etwas komfortabler machen z.B. mit "opendialog" oder ähnlichem. Wenn man den jeweiligen Pfad von "Hand" eingibt, dann sollte eine Überprüfung folgen, ob die Datei auch vorhanden ist. Ist das editieren einer neuen Archivierung abgeschlossen, so soll das Hauptfenster geschloßen werden und nur noch als Shortcut zu sehen seien etc. Ich weiß das es sich ein bischen mächtig anhört, nur wie soll man den mit diversen "Hello World!"-Programmen was lernen.

MikeS 10. Feb 2004 15:37

Re: Projektstart autom. Archivierung
 
Zitat:

Zitat von Ati
Naja. Ich wollte das schon etwas komfortabler machen z.B. mit "opendialog" oder ähnlichem. Wenn man den jeweiligen Pfad von "Hand" eingibt, dann sollte eine Überprüfung folgen, ob die Datei auch vorhanden ist. Ist das editieren einer neuen Archivierung abgeschlossen, so soll das Hauptfenster geschloßen werden und nur noch als Shortcut zu sehen seien etc. Ich weiß das es sich ein bischen mächtig anhört, nur wie soll man den mit diversen "Hello World!"-Programmen was lernen.

was ist da jetzt konkret das problem!

- OpenDialog?
- fileexists?

Oder wo hängts jetzt?

Ati 10. Feb 2004 15:42

Re: Projektstart autom. Archivierung
 
Das Problem war erstmal der Einstieg, aber da hab ich ja jetzt einige Ansätze. Alles weitere werde ich mir durch Tutorials oder der Boardsuche beibringen. Da ich ja auch in anderen Foren tätig bin weiß ich das die meisten User es hassen irgendwelchen Leuten die Programme von A bis Z vorzukauen. Sobald ich dann an einer Stelle wieder nicht weiterkomme melde ich mich dann wieder. Danke Euch erstmal für die Hilfestellung.

Ati

Tpercon 10. Feb 2004 15:43

Re: Projektstart autom. Archivierung
 
Du kannst ja z.B. anfangen in eine Listview Komponente mit 2 Spalten (Quelldatei und Zielordner) da mittels OpenDialog und nem Dialog zur Ordnerauswahl mal Einträge hinzuzufügen. Diese Einstellungen mußt du irgendwie noch speichern und laden.

Ati 10. Feb 2004 16:03

Re: Projektstart autom. Archivierung
 
Hhhhm. Ich hatte jetzt angefangen mit 2 Editfeldern ("von" und "nach"), 2 Memofeldern und einem Button. Beim Button-Klick erscheint der Opendialog und die ausgewählte Datei wird im 1.Editfeld angezeigt. Wollte es dann "ähnlich" mit dem 2. Editfeld machen. Weiter bin ich noch nicht, da ich jetzt erstmal in eine Besprechung muß. Meld mich aber morgen wieder ..........versprochen :lol:

Ati

MrKnogge 10. Feb 2004 16:22

Re: Projektstart autom. Archivierung
 
Zitat:

Zitat von MikeS
nimm dich ein memo in das du die datein einträgst die archiviert werden
sollen und dann arbeitest du die in einer Schleife ab.
:wink:

Da würde ich eher eine ListBox verwenden, so kann man leichter auf Dateien zugreifen, bzw. nicht so schnell versehentlich ändern.

Als Denkanstoss:

Hinzufügen zu deiner Liste:
Delphi-Quellcode:
procedure TForm2.Button3Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    ListBox1.Items.Add(OpenDialog1.FleName);
end;

Tpercon 10. Feb 2004 17:16

Re: Projektstart autom. Archivierung
 
Noch besser als ne ListBox ist wie ich oben schon geschrieben habe eine ListView Komponente, da kann man doch schön Quellpfad und Zielordner gegenüberstellen.

MrKnogge 10. Feb 2004 17:24

Re: Projektstart autom. Archivierung
 
Ja, das wäre die perfekteste Lösung, allerdings würde wie eben geschrieben,
für den Anfang zwei ListBoxes nehmen, da diese für "Anfänger" eben leichter zu bedienen ist.

DP-Maintenance 10. Feb 2004 19:39

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "Sonstige Fragen zu Delphi" verschoben.
Ich denke, das gehört besser nach "Sonstiges mit Delphi"
*schiiiiiiiiiiiiiiiiiiiiiieb* *drüüüüüüüüüüück*

Ati 11. Feb 2004 09:39

Re: Projektstart autom. Archivierung
 
MrKnogge Du hast Recht. "listview" ist noch ein bischen verwirrend für mich. Werd also erstmal mit der einfacheren Methode weitermachen.

Ati 17. Feb 2004 06:39

Re: Projektstart autom. Archivierung
 
Hallöle,
ich hatte Euch ja angedroht das ich mich melden werde wenn ich nicht weiterkomme. Jetzt ist es soweit. Folgende Procedure startet er nicht.


Delphi-Quellcode:
procedure copyarchiv;
var
ndx : Integer;
begin
   for ndx := 0 to listbox1.items.count-1 do
    begin
      copyfile(pchar(listbox1.items[ndx]),pchar(listbox2.items[ndx]),false);
    end;
end;
Die Fehlermeldung lautet: Undefinierter Bezeichner "listbox1". Es kann sich hier nur um einen selten blöden Fehler handeln aber ich hab momentan echt ein Brett vor dem Kopf.

Tpercon 17. Feb 2004 07:57

Re: Projektstart autom. Archivierung
 
In der Unit wo dieser Code steht, da gibt es kein Listbox1.

Ati 17. Feb 2004 08:30

Re: Projektstart autom. Archivierung
 
Das kann eigentlich nicht sein. Ich hatte diesen Code vorher in einem Button_Click Ereignis und da funktionierte es wunderbar. Jetzt wollte ich eine eigenständige Procedure daraus mach, welche beim Button_Click aufgerufen wird.

Tpercon 17. Feb 2004 08:34

Re: Projektstart autom. Archivierung
 
Wo ist die Funktion deklariert und wo definiert? Da fehlt doch das TForm1. davor.

Ati 17. Feb 2004 09:05

Re: Projektstart autom. Archivierung
 
Kaum zu glauben. Daran hat es wirklich gelegen :wall:
Naja das sind so Feinheiten mit denen ich noch so Probleme habe-
Danke Dir

Ati 18. Feb 2004 14:29

Re: Projektstart autom. Archivierung
 
Warum Funktioniert folgende Prozedur nicht:

Delphi-Quellcode:
if FileExists('items.txt') then
   showmessage('Item1 vorhanden')
   else
   showmessage('Item1 wird erstellt!!' );
Das ganze befindet sich im FormCreate-Ereignis. Ich kriege aber immer die Meldung das die Datei vorhanden sei, was sie aber nicht ist :gruebel:

Ati

Ati 18. Feb 2004 15:26

Re: Projektstart autom. Archivierung
 
Schon gut, Schon gut. Bin selber drauf gekommen. Mach jetzt besser Feierabend und feier Karneval. Morgen geht´s schön ab nach Köln. Also bis nächste Woche mal.

Ati 2. Mär 2004 06:28

Re: Projektstart autom. Archivierung
 
Mahlzeit Leute,
ich hab mal wieder eine Frage. Und zwar habe ich mal was gefunden, wo beim Minimieren der Anwendung dies aus der Taskbar verschwindet und nur noch im TNA-Bereich (neben der Uhr) erscheint. Leider brauch ich dafür die Komponente TApplicationEvent (Komponentenseite "Zusätzlich"), welche bei Delphi 3 Prof. nicht dabei ist. Kann ich das denn noch irgendwie anders hinkriegen ??

Vielen Dank schonmal

M-O-D 2. Mär 2004 07:34

Re: Projektstart autom. Archivierung
 
Hi ATI,

ich hab auch schon ein TNA Proggi geschrieben, aber die TApplicationEvent Komponente hab ich nicht eingesetzt... :gruebel:

In der Code Lib steht auch noch was dazu:
http://www.delphipraxis.net/internal...&highlight=tna

Und noch ne Idee für Dein Proggi...
Wie wäre es mit der Option alte Dateien automatisch zu löschen, z.B. nach einer gewissen Anzahl von Tagen. So brauch man sich darum nich zu kümmern und der Order wird nich irgendwann platzen :-D

Schönen Tag noch...

Ati 2. Mär 2004 08:26

Re: Projektstart autom. Archivierung
 
Hmmm. Ich habe mir das mal ausgedruckt, für eine andere Sache. Hab mir aber gerade CoolTrayIcon-Komponente von Torry runtergeladen, werd es auch mal damit versuchen, obwohl das bisher noch ein bischen verwirrend ist.
Trotdem Danke.

M-O-D 2. Mär 2004 08:57

Re: Projektstart autom. Archivierung
 
Jo die kenn ich auch,

ist schon n geiles Teil, aber wie Du schon sagst, erst mal sehr verwirrend... :zwinker:
Ich habe es so ähnlich gemacht wie in der Code-Library, n bissl anders, aber es lässt sich gut auf andere Programme übertragen und man braucht keine zusätzlichen Komponenten.

Gerade fällt mir nochein: -das Programm sollte automatisch mit Windows starten. Also n Eintrag in die Registry und so.

CU

Ati 2. Mär 2004 09:16

Re: Projektstart autom. Archivierung
 
Du hast echt gut eVorschläge. Werd ich alle aufnehmen. Jetzt habe ich aber noch ein Problem mit meiner "neuen Komponente". Ich benutze nur die "TexTrayIcon", da mir alles andere zuviel Schnickschnack hat. Jetzt habe ich also MinimizetoTray auf True gesetzt und beim Minimieren verschwindet meine Anwendung auch. Nur wie bekomme ich sie wieder?????

M-O-D 2. Mär 2004 09:23

Re: Projektstart autom. Archivierung
 
Ähhh,

dazu solltest Du ein Popup Menü bereitstellen mit den einträgen
-Programm anzeigen
-Programmende

Beim click auf anzeigen startest dann ne Prozedur, z.B. so

Delphi-Quellcode:

procedure ZeigeFenster;
//Zeigt das Programm Fenster
begin
   //Fenster wieder in der Taskleiste sichtbar machen
   ShowWindow(Application.Handle, SW_SHOW);
   //Fenster auf dem Bildschirm sichtbar machen
   ShowWindow(self.Handle, SW_SHOW);
end;
Sollte eigentlich so gehn...

Grüße :hi:

M-O-D 2. Mär 2004 09:30

Re: Projektstart autom. Archivierung
 
Natürlich noch die Hälfte vergessen!!! Das Menü soll ja beim Klick auf das Icon in der Taskbar aufklappen, dazu musst Du den Klick abfangen

Delphi-Quellcode:
//Deklaration:
procedure WMTaskBarEvent(var message: TMessage); message WM_TASKBAR_EVENT;
//Diese Procedure redistriert den Klick auf das Icon
procedure TfrmMain.WMTaskBarEvent(var message: TMessage);
begin
   //Auswerten des unteren bereichs von LParam
   //Param = 32 Bitwert unterteilt in 16 Lo und 16 Hi

   case message.LParamLo of

      WM_LBUTTONDBLCLK   :   ZeigeFenster;
       //WM_LBUTTONDOWN      :  ZeigeMenue;
       WM_RBUTTONDOWN      :  ZeigeMenue;

   end;
end;

//Diese Procedure zeigt dann das Menü an
procedure ZeigeMenue;
//Zeigt das Menue
var
   crsPos   : TPoint;
begin
   //Die aktuelle Cursorposition auslesen
   GetCursorPos(crsPos);
   //Damit das Menü auch wieder zugeht, wenn nix geklickt wurde
   //muss das unsichtbare fenster in den Vordergrund
   SetForeGroundWindow( self.Handle );
   //Menü an Cursorposition aufklappen lassen
   popMain.Popup(crsPos.X, crsPos.x);

end;
Vielleicht kannste das aber auch in der Komponente einstellen, habe sie selbst noch nicht verwendet, bloss gesehn!

CU

Ati 2. Mär 2004 14:00

Re: Projektstart autom. Archivierung
 
Hat super geklappt. Vielen Dank. Da ich aber eine faule S.. bin, hab ich das nur so gemacht, daß bei einem Doppelklick das Fenster wieder angezeigt wird. Also ohne Menue.

Luckie 2. Mär 2004 14:06

Re: Projektstart autom. Archivierung
 
Wenn du es nur für Delphi Projekte baruchst und es nicht selber machen willst, kuck dir mal das PlugIn für die IDe GExperts an, da hat es was zum Archivieren des Projektes.

Ati 2. Mär 2004 14:35

Re: Projektstart autom. Archivierung
 
Und wo finde ich das :?:

Luckie 2. Mär 2004 19:49

Re: Projektstart autom. Archivierung
 
Zur Not mit Google. Einen direkten Link habe ich auch nicht parat.

Ati 19. Mär 2004 12:15

Re: Projektstart autom. Archivierung
 
M-O-D hat ja den Vorschlag gemacht das mein Programm alte Dateien automatisch nach einigen Tagen löscht. Da mein Programm in der Endphase ist möchte ich jetzt diesen Gedanken mal aufgreifen. Wie kann ich das jetzt theoretisch hinkriegen? Die gespeicherte (archivierte) Datei läuft unter folgendem Beispiel "blabla19.03.04.txt".


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 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