metin Geschrieben 14. November 2002 Geschrieben 14. November 2002 hallo "kollegen" bin praktikant im ersten jahr und brauche jegliche hilfe & anregung für folgendes programm.ich bin schon längerm mit beschäftigt,habe leider nix vernünftiges zustande gebracht.weil es nunmehr eilt, dachte ich könnt hier nachfragen. das Programm ist eine Windows-Anwendung mit Oberfläche, keine Konsolenanwendung.Es zeigt dem Benutzer den Inhalt einer Asciidatei und einige Eingabefelder anzeigen.Abhängig von den Benutzereingaben soll der Name der Datei nach Drücken von Ok geändert werden.Das Verhalten des Programms soll über kommandozeilenargumente und über eine IniDatei gesteuert werden. Parameter: c-name der inidatei f-filename zu verarbeitende datei i-input verzeichnis o-outputverzeichnis e-fehlerverzeichnis n-nacharbeitsverzeichnis p-key aus inidatei die option kann bis zu 10 mal angegeben werden. Es soll unter allen 32bit-Microsoft Betriebssystemen laufen (Windows95 - Windows XP). Später evtl. auch vielleicht unter Windows 3.11 und Linux. Zum Besseren Verständnis hier ein Beispiel: ---------------------------------------------- In der Ini-Datei C:\Ini\MyIni.ini würde stehen ---------------------------------------------- [Global] title=Bitte Identifikation eingeben output=O.K. error=Fehler rework=Nacharbeit [Feld1] prompt=Behälternummer len=12 must=0 List= [Los] prompt=Losnummer len=12 must=0 List= [user] prompt=Benutzer len=10 must=1 List= Gustav Alfred Fridolin ------------------------------------------------------------------- Im Verzeichnis C:\Test\in\ steht die Datei hallo.txt mit dem Inhalt ------------------------------------------------------------------- aaaaaaaaaaaaa bbbbbbbbbbbbbb cccccccccccccc dddddddddddddd -------------------------------------------------- Es gibt noch 3 weitere Verzeichnisse mit den Namen -------------------------------------------------- C:\test\out\, C:\Test\err\ und C:\Test\nach\ Alle 3 sind zur Zeit Leer. ----------------------------------- Das Programm wird jetzt gestartet: ----------------------------------- ask_id -c C:\Ini\MyIni.ini -f hallo.txt -i C:\test\in -o C:\test\out -e c:\test\err -n C:\test\nach -p feld1 -p los -p user Es erscheint eine Maske (natürlich grafisch mit Windows-Oberfläche) |------------------------------------------------------------------- |Bitte Identifikation eingeben |------------------------------------------------------------------- | | --------------------------------------| | |aaaaaaaaaaaaa | | |bbbbbbbbbbbbbb | | |cccccccccccccc | | |dddddddddddddd | | --------------------------------------- | | Behälternummer: ____________ | Losnummer: ____________ | Benutzer: __________* | | | ----------- ----------- --------------- | | o.k. | | Fehler | | Nacharbeit | | ----------- ----------- --------------- | ---------------------------------------------------------------------- (*) Drop-Down-Box mit den möglichen Werten Gustav, Alfred, Fridolin z.B.: Gibt der Benutzer jetzt in das Feld Behälternummer den Wert 777 und in das Feld Losnummer den Wert 88888 ein, wählt aus der Drop-Down-Box den Wert 'Alfred' aus und drückt anschließend auf den Knopf O.K., dann verschiebt das Programm die Datei C:\Temp\in\hallo.txt nach C:\Temp\Out\777_88888_Alfred.txt und beendet sich dann. Zitieren
Klotzkopp Geschrieben 14. November 2002 Geschrieben 14. November 2002 Originally posted by metin bin praktikant im ersten jahr und brauche jegliche hilfe & anregung für folgendes programm.ich bin schon längerm mit beschäftigt,habe leider nix vernünftiges zustande gebracht.weil es nunmehr eilt, dachte ich könnt hier nachfragen.Gefragt hast Du aber nichts. Wo treten denn konkret Probleme auf? Bei der Auswertung der Kommandozeilenparameter? Bei der Erstellung der grafischen Benutzeroberfläche? Beim Zugriff auf die ini-Datei? Zitieren
metin Geschrieben 15. November 2002 Autor Geschrieben 15. November 2002 da ich borland benutze ist die bedienoberfläche kein problem.ich habe konkrete problem mit der kommandozeilenübergabe.folgende, untenstehende funktion habe ich mir schon rausgesucht,aber weiß nix mit anzufangen. ich weiß auch ich nicht wie ich die inidatei in die anwendung einbringen soll. int main(int argc, char *argv[]) { for(int a = 0; a < argc; a++) cout << argv[a] << endl; } vorab danke, ebenso für die rasche antwort! Zitieren
vinc Geschrieben 18. November 2002 Geschrieben 18. November 2002 ich denke "main (int argc, char *argv[])" wird dir hier nicht helfen. das problem ist, dass programme mit grafischer oberfläche, wie sie bei borland builder oder bei ms visual studio erzeugt werden nicht mit "main ()" arbeiten, sondern z.b. mit "WinMain (...)". ich weiß das jetzt nicht genau, aber entweder kommt man über die "WinMain (...)" an die kommandozeilenparameter oder es gibt dazu eine funktion wie "GetCommandLine". schau dazu am besten mal in die builder-hilfe, da sollte sowas eigentlich drin stehen. zu main (int argc, char *argv[])": argc enthält die anzahl der übergebenen parameter + 1 für den programmnamen; in dem array argv befinden sich zeiger auf die eigentlilchen parameter. dazu sollte eigentlich in jedem halbwegs ordentlichem lehrbuch oder tutorial zu c/c++ eine erklärung existieren! die ini-datei einfach als ascii-datei einlesen und dann auswerten :bimei Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.