Zum Inhalt springen

Manfred.Becker

Mitglieder
  • Gesamte Inhalte

    148
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Manfred.Becker

  1. Hallo Berty, in meinem Posting hab ich gerade eben noch gesagt, das es die F1-Hilfe gibt. Stell dir vor, die funktioniert auch bei anderen Befehlen/Funktionen! Wieso markierst du nicht einfach die Funktion und drückst F1?
  2. Hi Vampire, auf der Seite, die du oben angegeben hast, gibt's auch eine Download-Seite Dort wird beschrieben, wie Daten zu senden sin. Nämlich über ein sogenanntes BSSB - Protokoll für SAM 4000: Du musst also zuerst ein einzelnen Zeichen (ENQ = 0x02) senden, um von der Hardware zu erfahren, ob sie zur Zeit Daten senden kann (Antwort = STX) oder nicht (Antwort =NAK). Konnten diese Daten erfolgreich gelesen werden, musst du abschliessen noch ein ACK senden. Reicht das?
  3. es gibt ja auch noch die F1-Hilfe! Die verwendet man immer dann, wenn die Funktion bekannt ist, aber deren Anwendung Probleme bereitet: //ShellExecute(HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ) ShellExecute( GetSafeHwnd(), "print", "quiz.txt", NULL, "C:\\Quiz\\", SW_HIDE ); [/PHP] ...so etwa sollte das funktionieren.
  4. Hi SebastianK, lass alles beim Alten (keine DLLs). Um deinen Chef zu beruhigen kannst du ja ganz einfach am Ende des ersten Programms ShellExecuteEx() verwenden, um das Zweite automatisch aufzurufen.
  5. Alles klar! ich hab hier noch eine alte Eingaberoutine von mir für den Turbo C++ Compiler ausgegraben. Vielleicht hilft dir das bei deiner Entwicklung: #include <conio.h> #include <stdio.h> #include <malloc.h> #include <string.h> #include <stdlib.h> #define EINGABEINT 0 #define EINGABEFLOAT 1 #define EINGABECHAR 2 #define EINGABENORM 0 #define EINGABEHIDE 1 #define EINGABEMODAL 2 #define EINGABEZWANG 4 #define BELL 7 #define DELETE 8 #define ENTER 13 #define ESCAPE 27 typedef enum boolean{false, true}; void* Eingabe(char *text, int typ, int maxlen, int mode); int main(void) { int *i; float *f; char *c; i = (int*)Eingabe("Bitte Integer eingeben :",EINGABEINT,4,EINGABENORM); printf("Ihre Eingabe: %d\n\n",*i); free(i); f = (float*)Eingabe("Bitte Float eingeben :",EINGABEFLOAT,6,EINGABENORM); printf("Ihre Eingabe: %f\n\n",*f); free(f); c = (char*)Eingabe("Bitte String eingeben :",EINGABECHAR,20,EINGABENORM); printf("Ihre Eingabe: %s\n\n",c); free(c); c = (char*)Eingabe("Bitte Passwort eingeben :",EINGABECHAR,10,EINGABEHIDE|EINGABEMODAL|EINGABEZWANG); printf("Ihre Eingabe: %s\n\n",c); free(c); return 0; } //-------------------------------------------- // Universelle Eingabefunktion // (c)28.05.1997 by Manfred Becker // // Parameter: // text : Hinweistext zur Eingabe // typ : Typ der Eingabe : // EINGABEINT fuer Integerwert // EINGABEFLOAT fuer Float-Wert // EINGABECHAR fuer String // maxlen : Maximale Eingabelaenge // mode : Eingabemodus EINGABENORM // (geODERt) EINGABEHIDE Ausgabe von ***** // EINGABEMODAL kein Abbruch mit ESC moeglich // EINGABEZWANG keine Leereingabe moeglich // // Rueckgabe: // Eingabe bzw. NULL bei Abbruch // Achtung: Aufrufende Funktion muss // Casten und Speicher wieder // freigeben! // // Beispiel: // int *i; // i = (int*) Eingabe("Bitte Integer eingeben :", EINGABEINT, 4); // printf("Ihre Eingabe war %d\n", *i); // free(i); // //-------------------------------------------- void* Eingabe(char *text, int typ, int maxlen, int mode) { void *retWert = NULL; int *iret; // Zeiger fuer Integer float *fret; // Zeiger fuer Float char *cret; // Zeiger fuer String char puffer[128] = ""; // Interner Eingabepuffer char *pufferPtr = puffer; // Zeiger auf Puffer int taste='\0'; // Tasteneingabe char tastenPuffer[2]; // Puffer fuer Tasteneingabe boolean abbruch = false; // Abbruchbedingung if (text[0]) printf("%s",text); // Hinweistext ausgeben... if (maxlen>128) maxlen=128; // Laengenkorrektur... while(!abbruch) { // Solange Tasten einlesen bis ENTER oder Abbruch mit ESCAPE... switch(taste = getch()) { case ENTER: if (!(mode&EINGABEZWANG) || !(pufferPtr==puffer)) { printf("\n"); *pufferPtr = '\0'; abbruch = true; } break; case DELETE: if (puffer != pufferPtr) { pufferPtr--; printf("%c %c",DELETE,DELETE); } break; case ESCAPE: if (!(mode&EINGABEMODAL)) { printf("\n"); puffer[0] = '\0'; abbruch = true; } break; default: boolean eingabe=false; switch(typ) { case EINGABEINT: sprintf(tastenPuffer,"%c",taste); if ( strstr("0123456789-+",tastenPuffer) != 0) { eingabe = true; *pufferPtr = taste; if (mode&EINGABEHIDE) taste='*'; printf("%c",taste); pufferPtr++; } break; case EINGABEFLOAT: sprintf(tastenPuffer,"%c",taste); if ( strstr("0123456789-+.,",tastenPuffer) != 0) { eingabe = true; if (taste==',') taste ='.'; *pufferPtr = taste; if (mode&EINGABEHIDE) taste='*'; printf("%c",taste); pufferPtr++; } break; case EINGABECHAR: sprintf(tastenPuffer,"%c",taste); if ( strstr("0123456789-+.,:;abcdefghijklmnopqrstuvwxyz„â€ÂABCDEFGHIJKLMNOPQRSTUVWXYZŽ™š ",tastenPuffer) != 0) { eingabe = true; *pufferPtr = taste; if (mode&EINGABEHIDE) taste='*'; printf("%c",taste); pufferPtr++; } break; } if (!eingabe) printf("%c %c",BELL,8); // Alarmsignal bei falscher Eingabe if (pufferPtr-puffer > maxlen) { // Maximale Eingabel„nge erreicht... pufferPtr--; printf("%c %c",DELETE,DELETE); } } // End of switch(taste = getch()) } // End of while(taste != ENTER && taste != ESCAPE) if (pufferPtr!=puffer) { switch(typ) { case EINGABEINT: iret = (int*)malloc(sizeof(int)); *iret = atoi(puffer); retWert = iret; break; case EINGABEFLOAT: fret = (float*)malloc(sizeof(float)); *fret = atof(puffer); retWert = fret; break; case EINGABECHAR: cret = (char*)malloc((maxlen+1)*sizeof(char)); strcpy(cret,puffer); retWert = cret; break; } // End of switch(typ) } // End of if (taste != ESCAPE) return(retWert); } [/PHP]
  6. Hi Pittiplatsch, das aktuelle Datum (Date) kann ganz einfach in Teilstrings (Mid()) auf die jeweiligen Textfelder verteilt werden: txtTag.Value = Mid(Date, 1, 2) txtMonat.Value = Mid(Date, 4, 2) txtJahr.Value = Mid(Date, 7, 4) [/PHP]
  7. Hi Mageta, den Borland Turbo C++ 1.01 Compiler gibt's gratis direkt beim Hersteller: borland Dir ist aber schon klar, dass man 'ne DOS-BOX unter Windows ganz einfach schliessen kann? Ein Passwortschutz ist somit Magulatur.
  8. Hi Berty, ich hab das mal mit dem CDC (class of device-context) gemacht. Ist zwar schon 'ne Ewigkeit her, aber hier meine Klassenfunktion zum Drucken: int CMBLabelPrint::Print(CString LabelName, CString LabelTemplateName, CString LabelPath) { CDC PrintDC; CStdioFile LabelTemplate; DOCINFO DocInfo; int nRet; if (LabelName == "") return LABELPRINT_LABEL_NOT_DEFINED; if (LabelTemplateName == "") return LABELPRINT_LABEL_NOT_DEFINED; if (m_PrinterName == "") return LABELPRINT_PRINTER_NOT_DEFINED; // Drucker-Gerätekontext zuweisen if (!GetPrinterDC(m_PrinterName, PrintDC)) return LABELPRINT_PRINTER_NOT_INSTALLED; // Dokumentenvorlage zum Lesen öffnen if (!LabelTemplate.Open(LabelPath + LabelTemplateName, CFile::modeRead | CFile::typeText)) return LABELPRINT_TEMPLATE_NOT_FOUND; LabelTemplate.SeekToBegin(); DocInfo.cbSize = LabelName.GetLength(); DocInfo.lpszDocName = LabelName; DocInfo.lpszOutput = NULL; // Dokumentenstart an Druckertreiber melden if ((nRet = PrintDC.StartDoc(&DocInfo)) < 0 ) return LABELPRINT_PRINTER_NOT_READY; // Seitenstart an Druckertreiber melden if ((nRet = PrintDC.StartPage()) < 0 ) return LABELPRINT_PRINTER_NOT_READY; BOOL bEOF = TRUE; int nRow = 0; CString TemplateLine; while (bEOF) { // Zeile aus Dokumentenvorlage lesen. bEOF = LabelTemplate.ReadString(TemplateLine); // Ab Windows2000 benötigt der Treiber für X- und Y- Koorninaten Werte > 0! PrintDC.TextOut(10, nRow * 100 + 10, TemplateLine, TemplateLine.GetLength()); // Zeilenzähler erhöhen nRow++; } // Seitenende an Druckertreiber melden if ((nRet = PrintDC.EndPage()) < 0 ) return LABELPRINT_PRINTER_NOT_READY; // Dokumentenende an Druckertreiber melden if ((nRet = PrintDC.EndDoc()) < 0 ) return LABELPRINT_PRINTER_NOT_READY; // Drucker-Gerätekontext löschen if ((nRet = PrintDC.DeleteDC()) < 0 ) return LABELPRINT_PRINTER_NOT_READY; // Dokumentenvorlage schliessen LabelTemplate.Close(); return 0; } [/PHP] Hier noch die Klassenfunktion um den Geräte-Kontext zu erzeugen: [PHP] BOOL CMBLabelPrint::GetPrinterDC(CString PrinterName, CDC& PrintDC) { char msgbuf[1024]; LPSTR pch; LPSTR pchFile; LPSTR pchPort; BOOL bRet = FALSE; PrinterName.TrimLeft(); PrinterName.TrimRight(); DWORD size = GetProfileString("PrinterPorts", PrinterName, "", msgbuf, sizeof(msgbuf)); if (size <= 0) return FALSE; pch = msgbuf; for(pchFile = pch; *pch && *pch != ','; pch = CharNext(pch)); if (*pch) *pch++ = 0; pchPort = pch; while (*pch && *pch != ',' && *pch > ' ') pch = CharNext(pch); if (*pch) *pch++ = 0; try { // Exeptionbehandlung PrintDC.CreateDC ... bRet = PrintDC.CreateDC( pchFile, PrinterName, pchPort, NULL ); } catch (...) { #ifdef _DEBUG afxDump << "Error at CMBLabelPrint::GetPrinterDC()\n"; #endif return FALSE; } return bRet; } Das sollte für deine Zwecke reichen. Schau einfach in der Hilfe über CDC nach. Da solltest du alles weitere finden. Falls du dennoch mein Beispielprojekt haben willst, dann sag Bescheid...
  9. Hi, ich bin's nochmal. Schau mal hier rein: polynomdivision Lass dir den Quelltext anzeigen. Damit hast du einen Lösungsweg.
  10. Hi, ist's nur ein Tippfehler (das y==0 in der Schleife), oder Absicht? Wenn's Absicht war, dann wird die Schleife genau einmal durchlaufen. Denn dabei wird ja y zugewiesen und ist somit höchstwahrscheinlich nicht mehr 0! Ich würde das so machen: for(x=-10;x<10;x++) { y=a*x*x*x+b*x*x+c*x+d; cout "X=" << x << " Y=" << y; } Aber selbst das macht nur Sinn wenn eine Wertetabelle erstellt werden soll. Schau dir mal das an: Kurvendiskussion
  11. Manfred.Becker

    VBA-Referenz

    google doch einfach nach VBA-Referenz hier nur der erste Hit: VBA-Befehlsreferenz
  12. Hi, ich hab mal vor Jahren einen Kalender in c programmiert. Vielleicht hilft dir der Quellcode weiter: /*******************************************************\ ** Programm: KALENDER.CPP ** Version : 1.00 ** Funktion: Ausgabe eines Kalenders (incl. Kalenderwochen) ** Sprache : Borland Turbo C++ ** Datum : 25.02.1996 ** Autor : Manfred Becker (Mani.Becker@web.de) \*******************************************************/ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <dos.h> // // Konstannten... // #define GOOD 0 #define BAD -1 #define MONTAG 0 #define DIENSTAG 1 #define MITTWOCH 2 #define DONNERSTAG 3 #define FREITAG 4 #define SAMSTAG 5 #define SONNTAG 6 #define DY 0 // // Funktions-Prototypen... // int wochentag(const char *datum); int kalenderwoche(const char *datum, int &wjahr); int schalttag(const int jahr); int anzahl_tage_des_monats(const int monat, const int jahr); int anzahl_tage_des_jahres(const int jahr); int anzahl_wochen_des_jahres(const int jahr); // // Globale Variable... // char kalender[59][80]; //-------------------------------------------------------------- int main(int argc, char *argv[]) // Ausgabe eines Kalenders Als Uebergabeparameter kann eine // Jahreszahl zwischen 1582 und 9999 angegeben werden. Ansonsten // wird das aktuelle Jahr ausgegeben. //-------------------------------------------------------------- { int year = -1; if (argc>1) { // Auswertung der Uebergabeparameter... year = atoi(argv[1]); if (year<1582 || year>9999) { fprintf(stderr,"Fehler: Falsche Jahreszahl! Moegliche Jahreszahlen sind 1582 bis 9999."); exit (BAD); } } if (year<0) { // Ermittlung der aktuellen Jahreszahl... struct date d; getdate(&d); year = d.da_year; } int i,j,x,y,z; int kwoche,endwoche,m; int wt,wzy,wzx,tzy,tzx; int wof,tyo,txo,tag,endtag; int dummy; char jahr[5]; char datum[11]; char ww[3]; char tt[3]; // // Entwurf des Kalenders... // for (i=0; i<59; i++) { sprintf(kalender[i]," "); } sprintf(datum,"01.01.%4d",year); endwoche = anzahl_wochen_des_jahres(atoi(jahr)); for (m=1; m<13; m++) { // Alle Monate durchlaufen... sprintf(datum,"01.%2d.%4d",m,year); // Monatsanfang kwoche = kalenderwoche(datum, dummy); // 1. Kalenderwoche sprintf(ww,"%2d",kwoche); // im String ablegen wt = wochentag(datum); // 1. Wochentag wzy = (m-1) / 3 * 12 + DY+3; // Zeile der Woche wzx = ((m-1) % 3) * 23 + 7; // Spalte der Woche wof = 0; // Spalten-Offset tzy = (int)(m-1) / 3 * 12 + DY+5; // Zeile des Tages tzx = ((m-1) % 3) * 23 + 7; // Spalte des Tages tyo = wt; // Zeilen-Offset txo = 0; // Spalten-Offset tag = 1; // 1. Tag sprintf(tt,"%2d",tag); // im String ablegen endtag = anzahl_tage_des_monats(m,year);// letzter Tag do { // Alle Tage durchlaufen... kalender[wzy][wzx+wof+0] = ww[0]; // Kalenderwoche kalender[wzy][wzx+wof+1] = ww[1]; // einfuegen do { // Bis Sonntag durchlaufen... kalender[tzy+tyo][tzx+txo+0] = tt[0];// Tag kalender[tzy+tyo][tzx+txo+1] = tt[1];// einfuegen tag++; sprintf(tt,"%2d",tag); tyo++; if (tyo==7) { // weiter mit naechster Woche... tyo=0; txo+=4; wof+=4; kwoche++; sprintf(ww,"%2d",kwoche); } } while ((tyo!=0) && (tag<=endtag)); if ((m==1 || m==12) && (kwoche>endwoche)) { // Korrektur der ersten bzw. letzten Kalenderwoche... kwoche = 1; sprintf(ww,"%2d",kwoche); } } while (tag<=endtag); } // // Ausgabe des Kalenders... // for (i=0; i<59; i++) printf(" %s\n",kalender[i]); // // Das wars schon... // return GOOD; } // End of main() //------------------------------------------------------------- int wochentag(const char *datum) // Berechnet zu jedem Datum des Gregor. Kalenders den Wochentag // nach dem Verfahren des Geistlichen Zeller. // // Hinweis: Der Gregor. Kalender wurde 1582 von Papst // Gregor XIII eingefuehrt! // // 0=Montag, 1=Dienstag usw., //-------------------------------------------------------------- { int tag, monat, jahr, jr, jhdt, wt; char dat[11]; sprintf(dat,"%10s",datum); jahr = atoi(&dat[6]);dat[5] = '\0'; monat = atoi(&dat[3]);dat[2] = '\0'; tag = atoi(&dat[0]); if (monat>2) monat -= 2; else { monat += 10; jahr--; } jr = jahr % 100; jhdt = (int)(jahr/100); wt = ((13*monat-1)/5+jr/4+jhdt/4+jr+tag-2*jhdt)%7-1; if (wt<0) wt += 7; return wt; } // End of wochentag() //-------------------------------------------------------------- int kalenderwoche(const char *datum, int &kwjahr) // Berechnet zu jedem Datum des Gregor. Kalenders die Kalender- // woche. In der Variablen kwjahr wird das zugehoerige Kalender- // jahr geliefert. //-------------------------------------------------------------- { int tag, monat, jahr; int wt, startwoche, endwoche, tage, i; int anzahl_wochen, kwoche; char dat[11]; sprintf(dat,"%10s",datum); jahr = atoi(&dat[6]);dat[5] = '\0'; monat = atoi(&dat[3]);dat[2] = '\0'; tag = atoi(&dat[0]); sprintf(dat,"01.01.%4s",&datum[6]); wt = wochentag(dat); startwoche = 1; if (wt==SONNTAG || (wt==SAMSTAG && !schalttag(jahr-1))) startwoche = 52; if (wt==FREITAG || (wt==SAMSTAG && schalttag(jahr-1))) startwoche = 53; endwoche=anzahl_wochen_des_jahres(jahr); tage = 0; for (i=1; i<monat; i++) { tage += anzahl_tage_des_monats(i,jahr); } tage += tag; anzahl_wochen = (int)((tage+wt-1)/7); kwoche = startwoche+anzahl_wochen; kwjahr = jahr; // Korrekturen... if (kwoche>endwoche && anzahl_wochen==endwoche) { kwoche -= endwoche; if (kwoche==1) kwjahr = jahr+1; } if (kwoche>endwoche && anzahl_wochen>0) { kwoche = anzahl_wochen; kwjahr = jahr; } if (kwoche>=endwoche && anzahl_wochen==0) { kwjahr = jahr-1; } return kwoche; } // End of kalenderwoche() //-------------------------------------------------------------- int schalttag(const int jahr) // Berechnet zu jedem Jahr des Gregor. Kalenders den Schalttag //-------------------------------------------------------------- { int sTag = 0; if ( !(jahr % 4) && ((jahr % 100) || !(jahr % 400)) ) sTag = 1; return (sTag); } // End of schalttag() //-------------------------------------------------------------- int anzahl_tage_des_monats(const int monat, const int jahr) // Berechnet zu jedem Monat eines Jahres die Anzahl der Tage //-------------------------------------------------------------- { int anzahl_tage = 0; switch(monat) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: anzahl_tage = 31; break; case 4: case 6: case 9: case 11: anzahl_tage = 30; break; case 2: anzahl_tage = 28 + schalttag(jahr); break; } return (anzahl_tage); } // End of anzahl_tage_des_monats() //-------------------------------------------------------------- int anzahl_tage_des_jahres(const int jahr) // Berechnet zu jedem Jahr die Anzahl der Tage //-------------------------------------------------------------- { return (365+schalttag(jahr)); } // End of anzahl_tage_des_jahres() //-------------------------------------------------------------- int anzahl_wochen_des_jahres(const int jahr) // Berechnet zu jedem Jahr die Anzahl der Wochen //-------------------------------------------------------------- { int anzahl_wochen, wt; char datum[11]; sprintf(datum,"01.01.%4d",jahr); anzahl_wochen = 52; wt = wochentag(datum); if ((wt==DONNERSTAG) || ((wt==MITTWOCH) && (schalttag(jahr)))) anzahl_wochen++; return anzahl_wochen; } // End of anzahl_wochen_des_jahres() Leider musste ich die Routine für das Zeichnen des Rahmens rauslöschen, damit ich den Quellcode posten konnte.
  13. Hi, hier findest du zwar "nur" ein Buch zu PHP4: Webserver-Programmierung für Einsteiger allerdings kostet es nichts
  14. Hast du einen Service-Pack aufgespielt? Was passiert wenn man die Link-Datei manuell (via Explorer) startet. Geht's dann? Kannst du dein Programm nicht umschreiben, und die EXE.Datei direkt aufrufen anstelle der Link-Datei? sonnst weiss ich auch nicht weiter
  15. Hi, versuch's mal mit dem FB: SO_OBJECT_SEND bzw. SO_OBJECT_SEND_ASYNCHRON. Das sollte eigentlich funktionieren. Allerdings hab ich es selbst noch nicht zum Laufen gebracht. Vielleicht klappt's ja bei dir. Falls ja, musst du mir unbedingt davon berichten...
  16. Manfred.Becker

    VB 6.0 Einsteiger

    Hi, bei OnlineTutorials.de findet man eigentlich immer was...
  17. Hi, vor Monaten gab's wohl auch noch die Datei: c:\New Desktop\Programm.lnk Gibt's die heut auch noch? Ciao, Manfred
  18. Hi Patrick, um Werte aus einer INI-Datei abzurufen kannst du die Funktion GetPrivateProfileString() verwenden. Die Funktion liefert dir auch zurück, wieviele Zeichen gelesen wurden. Falls 0 gelesen wurde, dann erstell einfach die INI-Datei mit der Funktion WritePrivateProfileString(). char szSectionName[] = "YourSectionName"; char szKeyName[] = "YourKeyName"; char szDefaultValue[] = "YourValue"; char szFilename[] = "YourFilename.ini"; BOOL bRet; char szMyValue[128]; //INI-Daten lesen... bRet = GetPrivateProfileString(szSectionName, szKeyName, NULL, szMyValue, sizeof(szMyValue), szFilename); if (!bRet) { //Falls nicht lesbar, dann Default-Werte zuweisen //und INI-Datei erzeugen... sprintf(szMyValue,szDefaultValue); WritePrivateProfileString(szSectionName, szKeyName, szDefaultValue, szFilename); } Im Beispiel wird eine einzige Variable im INI-File (das sich übrigens im Windows-Verzeichnis befindet) eingelesen. Solltest du mehr brauchen, ruf einfach die Funktionen mehrfach auf. Ciao, Manfred
  19. genau! Wenn du Batch-Dateien ohne Rücksprung starten willst lass einfach 'call' weg. :viewer IXOS_Viewer_only.bat :enterprise IXOS_EnterpriseScan_inkl_Viewer.bat Willst du aber den Rücksprung beibehalten, dann versuchs mal so: :viewer call IXOS_Viewer_only.bat goto EXIT :enterprise call IXOS_EnterpriseScan_inkl_Viewer.bat goto EXIT :EXIT echo Ready... Wenn die EXE-Dateien starten willst, und die DOS-Box soll verschwinden, dann verwende Anstelle von 'call' einfach 'start' Ciao, Manfred
  20. das hier könnte auch weiterhelfen: www.codeproject.com
  21. Dass deine Klasse von CWnd abgeleitet ist bringt uns nicht weiter. Du sagtest doch, dass du ein ActiveX-Element eingebunden hast? Google doch mal mit dessen Namen. Vielleicht bekommst du dann den entscheidenden Hinweis... Viel Glück Manfred
  22. Hi, ist deine Browser-View-Klasse abgeleitet von CHtmlView? Hier ein Beispiel: class CMBrowseView : public CHtmlView { ... } Falls ja, dann kannst du deren Class-Members verwenden (schau mal in der Hilfe nach) Ciao... Manfred
  23. Hi Patrick, denk dran, dass deine Struktur CString-Elemente enthalten. CString ist 'ne Klasse, und kein Datentyp! Wenn du also vor hast eine Instanzvariable der Klasse bereits beim Erstellen mit Werten zu füllen, dann brauchst du nen entsprechenden Konstruktor: struct sField { CString Feld1; CString Feld2; CString Feld3; //Konstruktor der Struktur sField(CString f1,CString f2,CString f3) { Feld1=f1; Feld2=f2;Feld3=f3; }; }; Damit lässt sich dann folgendes tun: sField test = sField("1","2","3"); Beachte weiterhin, dass CStringArray ebenfalls eine Klasse ist! Man kann zwar auf die einzelnen Elemente im Array über die Indexierung zugreifen, aber Elemente (und dabei handelt es sich um CString-Elemente) hinzufügen geht mit der Memberfunktion Add() : CStringArray strArTest; strArTest.Add("1"); strArTest.Add("2"); strArTest.Add("3"); CString strValue = strArTest[0]; // Indexwerte 0..2 verwenden! Ich hoffe, dass dir das weiterhilft... (Eine Mögliche Lösung hat ja bereits Diablo999 geliefert) Ciao Manfred

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...