Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Vc++ Struktur FÜllen und Auslesen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.12.2003, 09:48 Uhr
~motorbine
Gast


Hallo!

Hab da mal eine Frage zum Auslesen einer Struktur.
Das Programm ist für ein mobiles Datenerfassungsgerät, welches mit dem BS Windows CE.net ausgestattet ist. Programmierung erfolgt in MS eMbedded Visual C++.
Nun habe ich 2 Eingabe- und eine Ausgabeoberfläche im Programm. In den beiden Eingabeoberflächen werden zusammen 5 Werte übergeben, die ich in eine Struktur abspeichern möchte, um sie anschließend in einer Textdatei ablegen zu können. Für die Struktur habe ich eine neue Klasse Artikel (auf CObjekt basierend) angelegt, doch leider kann ich meine Variablen nicht darin aufrufen um sie zu übergeben.

Muss die Klasse Artikel noch anders als über #include eingebunden werden???

Code:

C++:
//Artikel.h
typedef struct sDB{
            char VNR[9];        //Array fängt mit 0 an, deshalb immer Länge-1
            char BNR[9];
            char ANR[19];
            char MENGE[7];
            char TIME[20];}
        DB;

class CArtikel : public CObject  
{
public:
    void SetVari(CString vnr,CString bnr,CString artnr, CString menge,CString time);

    CArtikel();
    virtual ~CArtikel();

};

//Artikel.cpp
void CArtikel::SetVari(CString vnr, CString bnr, CString artnr, CString menge, CString time)
{
    CString a;
    a.Format(_T("%s"),DB.VNR);        //Formatierung, bringt Fehlermeldung
}


Für eine Idee evtl. auch Quelltext, wäre ich sehr dankbar.
Vielen Dank im Voraus!
Gruß motorbine!!!

Bearbeitung:
Bitte verwende die CPP-Tags demnächst selber. Du findest einen Hyperlink direkt neben dem Eingabefeld unter Quellcode einfügen.

Dieser Post wurde am 09.12.2003 um 10:17 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.12.2003, 10:14 Uhr
ao

(Operator)



C++:
typedef struct { ... } DB;


ist bisher nur eine Typdefinition. Es gibt noch keine Variable von diesem Typ.

Wie lautet die Fehlermeldung?

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.12.2003, 10:21 Uhr
~motorbine
Gast


Die Variablen sollen von den Eingabefeldern übernommen werden.
Z.B. IDC_SVNR hat die Variable m_ssvnr

Meine Fehlermeldung lautet:
error C2275: 'DB' : illegal use of this type as an expression

mfg motorbine
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.12.2003, 10:26 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Wie bereits ao schon sagte hast du nur einen Variablentyp definiert.
Es gibt jetzt in deinem proggie den typen DB, aber du hast noch keine Konkrete Intstanz dieses typen erzeugt.

ums dir mal zu verdeutlichen int, double, char usw. sind alles typen

C++:
int x=3;  //hier legst du eine variable mit namen x von typ int an und weist ihr eine 3 zu;

int=3 //das geht nicht weil int ein typ und keine variable ist genauso verhält es sich mit deinem DB


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 09.12.2003 um 10:27 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.12.2003, 11:43 Uhr
ao

(Operator)


@motorbine:

Du musst irgendwo

C++:
DB db;

sagen und kannst dann auf db.VNR und die anderen zugreifen.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.12.2003, 12:24 Uhr
~motorbine
Gast


DANKE!!!

Kann jetzt auf DB zugreifen. Leider funzt es mit dem Abspeichern und wieder auslesen der Datei nicht!

Wenn ich jetzt mehrere Einträge in dieser Struktur abspeichern möchte, muss ich da einen Zeiger auf die Arrays legen??? Oder schiebe ich nur nach und nach die Eingaben in diese Struktur???
Z.B. Habe ich 5 Artikel, die ich eingeben möchte. Zu diesen 5 Artikeln werden die anderen 4 Datenfelder mit eingegeben, so dass ein kompletter Datensatz entsteht (von den 5 Eingabefeldern). Die Struktur soll nun die Datensätze nacheinander und untereinander (pro Zeile ein DS) abspeichern.

mfg motorbine
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.12.2003, 13:04 Uhr
ao

(Operator)


Eine Struktur - ein Datensatz. Für 5 Artikel brauchst du 5 Strukturen oder ein Array von Strukturen:

C++:
DB db[5];


Jetzt haste 5 Datensätze, und mit db[0] bis db[4] kommste an die Einzelsätze ran. Die Strukturfelder erreichst du z.B. mit db[0].VNR

Ich weiß aber nicht, wie das mit diesem MFC-Dialog-DataExchange-Krempel zusammenpasst, hab das nur mal am Rand gestreift.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
09.12.2003, 16:32 Uhr
~motorbine
Gast


Danke erst einmal!!!

Werde es natürlich ausprobieren und Bescheid geben, sobald ich ein Ergebnis habe!!!

mfg motorbine
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: