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.
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?
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!
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden