Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Batchlisten Import Dringend Hilfe gesucht (https://www.delphipraxis.net/9878-batchlisten-import-dringend-hilfe-gesucht.html)

Computerbabalulu 6. Okt 2003 23:29


Batchlisten Import Dringend Hilfe gesucht
 
Hallo Ihr Lieben :hi:

Ich habe folgendes Problem. Ich möchte in eine SQL Datenbank Textdateien Importieren. Das ist ja noch nicht ein so Großes Problem. Aber schaut euch die Dateien mal an (siehe Anhang).
Ich habe keine Ahnung wie ich das anstellen soll. Ich benötige folgendes:

:coder:

Auftrags_Nr., Kunden_Nr. Anzahl Bilder im Auftrag, Uhrzeit, Batchnummer und das Datum für jeden Auftrag, obwohl es ja nur einmal pro Datei steht!


Die Dateien liegen alle in einem Verzeichnis, und sollten nach Möglichkeit alle 10min. automatisch Importiert werden.
Anschließend sollen alle Dateien die Importiert wurden, in ein anderes Verzeichnis verschoben werden, damit sie nicht nochmals Erfasst werden. Löschen darf ich sie noch nicht.

Wer kann mir dabei Helfen? :gruebel:

Duffy 7. Okt 2003 06:31

Re: Batchlisten Import Dringend Hilfe gesucht
 
Hallo Computerbabalulu,
als erstes solltest Du vielleicht mal sagen auf welchem OS das Programm laufen soll. Es ist nicht unerheblich für die Konzeption des Programms. Läuft es auf einer Windows NT Plattform, dann würde ich es als Services gestalten, ansonsten als Taskbar Application.

Die nächsten Schritte wären:

1. Alle wichtigen Einstellungen des Programms in der Registry oder einer INI-Datei ablegen. Also brauchst Du eine Procedure die das Einlesen und setzen der Werte für Dich erledigt.

2. Ein Funktion bzw. Procedure die alle nicht verarbeiteten Dateinamen zurückgibt.

3. Eine Stringliste zum einlesen der Dateien.

4. Aus der Stringliste deine Werte extrahieren. Sie stehen ja schön an festen Positionen innerhalb der Datei.

5. Dann ein SQL Script mit einer anderen Stringliste erzeugen. So finde ich es am besten dafür.

6. Mit Shellexeute oder CreateProcess das Script für jeden Dateinamen ausführen.

7. Alle Dateien mit ShellFileOperation (Shell API) verschieben

8. Das ganze mit einem Timer alle 10 Min. oder wie gewünscht ausführen.

9. fertig

Ach so und alle Zutaten für das Kochrezept findest mit der Suchen Funktion in diesem Forum

bye

Computerbabalulu 7. Okt 2003 20:47

Re: Batchlisten Import Dringend Hilfe gesucht
 
:oops: :oops: :oops:

Hallo :hi:

Das ganze läuft unter Windows 2000 Server.

Danke für die Rezepte. Aber davon verstehe ich so gut wie gar nicht, da ich mich mit Delphi erst seit 2 Wochen beschäftige.

Hast du vieleich mal ein Beispiel für mich? :gruebel:

Mir würde es auch schon reichen, die Daten in eine Access oder Delphi Datenbank zu bekommen!

Gruß Frank

MrSpock 9. Okt 2003 09:58

Re: Batchlisten Import Dringend Hilfe gesucht
 
Hallo Computerbabalulu,

kannst du den Anhang noch einmal als ZIP File anhängen?

Computerbabalulu 10. Okt 2003 04:39

Re: Batchlisten Import Dringend Hilfe gesucht
 
Hallo MrSpock :hi:

Kein Problem.....

Gruß Frank

MrSpock 10. Okt 2003 08:18

Re: Batchlisten Import Dringend Hilfe gesucht
 
Hallo Frank,

ich habe die Dateien einmal angeschaut.

Zunächst einmal benötigst du eine Prozedur, die dir die Felder aus den Einträgen holen.
Dazu kannst du folgenden Code benutzen:

Delphi-Quellcode:
function TForm1.GetField(s: string; fieldNo: integer; sep: Char; var value: string): Boolean;
var
   posi, i   : Integer;
begin
   Result := True;
   value := '';
   for i := 1 to fieldNo do
   begin
      posi := Pos(sep, s);
      if posi > 0 then
         Delete(s, 1, posi)
      else begin
         Result := False;
         Exit
      end;
   end;

   i := 1;
   while (i<=length(s)) and (s[i] <> sep) do
   begin
      value := value +s[i];
      Inc(i)
   end
end;
Versuche diesen Code zu verstehen und sag Bescheid, wenn du so weit bist. Falls du irgendetwas nicht verstehst, bitte nachfragen.

Computerbabalulu 13. Okt 2003 04:44

Re: Batchlisten Import Dringend Hilfe gesucht
 
Oh, Hallo Mr.Spock :hi:

Danke Danke. Duffy hat mir schon mächtig unter die Arme gegriffen.

Was allerdings nicht heißen soll, das ich deine Hilfe nicht zu schätzen weiß :warn:

Duffy hat mir mal eine Lösung dazu geschrieben, mit einer Super genauen Erklärung. :nerd:

Es ist aber nicht der Sinn und Zweck der Sache, sich einfach nur den Code von anderen zu nehemen und dann zu sagen:

Gut, Funktioniert :hello: Das wars.........!

Jetz habe ich natürlich auch den Ergeitz heraus zu finden was er da genau gemacht hat. Und da bin ich gerade dabei.
Da er alles so Super Erklärungen in den Code geschrieben hat, fällt es mir wirklich leichter das ganze zu verstehen. :thuimb:
Wenn ich soweit bin, und glaube alles verstanden zu haben, dann melde ich mich wieder bei euch!

Ich Danke euch für eure TOLLE Unterstützung, und hoffe das Ihr mir auch weiter bei meinen Problemen helfen könnt.

Ach, fällt mir doch direkt eines ein!!

Kann ich in einem Delphiprogramm einen Reset vom USB Port machen?? Z.B. bei einer ButtonKlick....?

(Unter Reset verstehe ich, das ich den gleichen Effekt habe wie bei raus und rein des USB Steckers)
Also das die angeschlossene Komponente neu erkannt wird?!

:witch: :witch:


Gruß Frank

MrSpock 19. Okt 2003 17:52

Re: Batchlisten Import Dringend Hilfe gesucht
 
Hallo Computerbabalulu,

diese Frage solltest du in einem neuen Posting im richtigen Bereich noch einmal stellen, dann erreichst du auch die Experten zu diesem Thema besser.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 Uhr.

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