Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben
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?

Geschrieben

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!

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...