Zum Inhalt springen

_Faby_

Mitglieder
  • Gesamte Inhalte

    130
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von _Faby_

  1. Also bei uns wird es verlangt, dass man den Inhalt der Stunden mit angibt... Außer bei Religion und Sport, da machts keinen Sinn Mfg _Faby_
  2. Okay die Frage wegen dem abbrechen hat sich auch erledigt einfach nur return^^ naja Danke auf jeden Fall nochmal
  3. OOOH damn des hab ich nich beachtet... danke!! die Werte werden in dem "Watch" fenster angezeigt... kann ich das einfach so machen dasss ich schreib: while(i!=3) { i++; strcpy(buffer[i], token);//buffer[1],[2],[3] werden mit den Token gefüllt token = strtok(NULL, ":");//-"- } if(buffer[3] == "") { _tprintf(_T("FEHLER")); } bzw wie mach ich das, dass das Programm geschlossen wird, oder die Restlichen Funktionen einfach nicht ausgeführt werden?? weil mit return 1 geht das ja nicht bei einer void Funktion... (das wollt ich schon lang mal wissen) Du hattest Recht was den Debugger angeht... Er hat einen totalen Käse angezeigt... habs grad nochmal ausprobiert... Trotz der Tatsache dass komische werte im Watch fenster stehen funktioniert das ganze (( Tut mir leid wenn ich damit deine Zeit in kauf genommen habe...
  4. Wie kann eis ein Problem sein das irg wo im Programm liegt wenn ich als ERSTE Funktion UpdateData() aufruf und die fehlschlägt?? Und ich habe leider keine Ahnung von C++ bzw nich so wirklich mir wurde es bis jetzt nur so beigebracht und es hat bis jetzt immer funktioniert xD fopen hab ich kontrolliert habs nur rausgenommen weil ich gemeint hab is nich so wichtig... i kann doch so groß werden wie es will die Schleife eh abgebrochen wird wenn des strtok nix zurückliefert, oder? Sorry wenn ich mich bissal doof anstell :S
  5. Es werden keine Warnungen angezeigt... void CSkype_Time_AddDlg::OnBnClickedButtonadd() { UpdateData(true); bool exists = true; FILE* fp = _tfopen(_T("C:\\test.txt"), _T("r+"));//r+ lesen und schreiben -> Datei muss existieren fseek (fp, 0, SEEK_END); int size = ftell (fp); fseek(fp, 0, SEEK_SET); if(size == NULL) exists = false; TCHAR buffer[4][1024];//TCHAR für die Zeit in TCHAR-Format int time[3];//int für die Zeit in integer-Format int i = 0;//zähler if(exists == true) { TCHAR* p = _fgetts(buffer[i], 1024, fp);//auslesen und auf buffer[0] speichern CString token = strtok(buffer[i], ":");//token "zerstückeln" den Text in buffer[0] while(token != "") { i++; strcpy(buffer[i], token);//buffer[1],[2],[3] werden mit den Token gefüllt token = strtok(NULL, ":");//-"- } i = 1; int v = 0; while(i <= 3) { time[v] = atoi(buffer[i]);//die einzelnen buffer werden per atoi in integer umgewandelt v++; i++; } bool more = morethansixty();//mehr als 60 ist unzulässig -> 60 minuten/stunde if(more == false)//wenn es unter 60 ist { m_seku += time[2];//eingegebene Zahl wird hinzugezählt m_minu += time[1]; m_hour += time[0]; convert();//wenn das ergebnis über 60 liegt wird Konvertiert } } else MessageBox("Please write an correct number of seconds or minutes into the field", "FAIL!!! xP", MB_OK|MB_ICONSTOP|MB_SETFOREGROUND); //Fehlermeldung wenn das eingegebene über 60 liegt TCHAR puffer[5][1024];//TCHAR-array für die ergebnisse der rechnungen _stprintf(puffer[0], _T("%d"), m_hour); _stprintf(puffer[1], _T(":")); if(m_minu<10) _stprintf(puffer[2], _T("0%d"), m_minu);//wenn die Zahl unter 10 ist eine 0 vorne anhängen else _stprintf(puffer[2], _T("%d"), m_minu); _stprintf(puffer[3], _T(":")); if(m_seku<10) _stprintf(puffer[4], _T("0%d"), m_seku); else _stprintf(puffer[4], _T("%d"), m_seku); int t = 0; fseek(fp, 0, SEEK_SET);//Position im File wird auf anfang gestellt(!!!NEU!!!) for(t; t<=4; t++) { _fputts(puffer[t], fp);//File wieder füllen -> vorheriger Inhalt wird überschrieben } m_seku = 0;//Felder werden mit 0 gefüllt m_minu = 0; m_hour = 0; fclose(fp);//File wird geschlossen Write_Sum();//Summe wird aktualisiert UpdateData(false);//Oberfläche wird aktualisiert void CSkype_Time_AddDlg::convert() { if(m_seku>60) { m_minu += m_seku/60; m_seku = m_seku%60; } if(m_minu>60) { m_hour += m_minu/60; m_minu = m_minu%60; } } } Das Problem ist das erst UpdateData() Die Werte werden einfach NICHT EINGELESEN^^ Was soll ich da falsch Programmiert haben? Hier noch die Header datei: class CSkype_Time_AddDlg : public CDialog { // Construction public: CSkype_Time_AddDlg(CWnd* pParent = NULL); // standard constructor // Dialog Data enum { IDD = IDD_SKYPE_TIME_ADD_DIALOG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support private: bool morethansixty(void); void convert(void); void Write_Sum(void); // Implementation protected: HICON m_hIcon; // Generated message map functions virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP() public: int m_hour; int m_minu; int m_seku; afx_msg void OnBnClickedButtonadd(); CString m_sum; afx_msg void OnBnClickedOk(); virtual BOOL PreTranslateMessage(MSG* pMsg); bool saveButtonHasFocus; }; Hab gemeint vllt liegt es an irg welchen Einstellungen in VS aber ich denk mal des kann ich vergessen...
  6. Hallo zusammen... Ich habe ein Problem mit meinem C programm... Es ist eine MFC application... Das Programm ist fertig und wurde von mir auf "Release" gestellt kompiliert und jetzt funktioniert die Funktion UpdateData() nicht mehr Woran kann das liegen? Statt den eingegebenen Werten werden total wahllose werde eingesetzt... m_seku bzw m_hour bzw m_minu sind die Variablen für die Editfelder. Kann mir bitte jmd helfen?? mfg _Faby_ EDIT: Kann bitte ein Moderator meinen Beitrag kurz verschieben?? Hab erst danach gesehen dass es dafür ein extra Themengebiet gibt... SORRY
  7. Hast du natürlich recht Komm zur Zeit voll durcheinander^^ Hab meinen Fehler aber gefunden müsste in der main-funktion while(selection == 6) heißen... Danke für die Antworten...
  8. Mir ist gerade eingefallen, dass es auch noch an der Main funktion hängen kann... Das wäre sie... int _tmain(int argc, _TCHAR* argv[]) { int selection; TCHAR movie[1024]; TCHAR* ptr; _tprintf(_T("Baue Verbindung zum Server auf...\n\n")); connect(); _tprintf(_T("Bitte wählen Sie eine der nachfolgenden Funktionen:\n-1- Film hinzufügen\n-2- Film loeschen\n-3- Filmdaten aendern\n-4- Alle Filmdaten ausgeben\n-5- Film suchen\n-6- Programm beenden\n\n")); _tprintf(_T("Ihre Auswahl: ")); scanf("%d", &selection); fflush(stdin); switch(selection) { case 1: add_movie(); break; case 2: del_movie(); break; case 3: change_movie_data(); break; case 4: show_data(); break; case 5: _tprintf(_T("Suchkriterium Filmtitel\nName eingeben: ")); _fgetts(movie, 1024, stdin); if((ptr= (TCHAR *)_tcschr(movie, '\n'))!=NULL) *ptr = '\0'; search_movie(movie); break; case 6: _tprintf(_T("...trenne Verbindung zum Server\n")); break; default: _tprintf(_T("Falsche Eingabe\n\n")); } while(selection != 6) seperate_connection(); getchar(); return EXIT_SUCCESS; } Bin am verzweifeln... Sitz an dem Problem nämlich schon seit Anfang letzter Woche
  9. Leider bin ich mir nicht ganz sicher :S Ich werd mal ausprobieren was passiert wenn ich ein bisschen was von meinem zuletzt geschriebenen Code auskommentere Ich verwende Visual Studio 2008... EDIT: Okay, hat nichts gebracht hab alles auskommentiert doch der Fehler kommt immer noch. Screenshot vom Call Stack:
  10. Hallo zusammen... Ich habe eine Frage bezüglich MySQL + c++. Hier mein Code: void connect(void) { mysql = mysql_init(NULL); if(mysql == NULL) { _ftprintf(stderr, _T("Fehler beim Initialisieren\n")); exit (EXIT_FAILURE); } //Database access per mysql_select_db(pointer to MYSQL-Handle, pointer to Database-Name); also possible if(mysql_real_connect(mysql, "localhost", USERID, PASSWORD, DATABASE, 0, NULL, NULL)==NULL)//mysql_real_connect(pointer to MYSQL-Handle, Host-Name, User-Name, Password, Database, Port, Socket, NULL -> no Flags); { unsigned int error = ::mysql_errno(mysql); if(error == 2003) _ftprintf(stderr, _T("Keine Verbindung zum Host\n")); } else _tprintf(_T("Erfolgreich mit dem MySQL-Server verbunden\n")); check_error(); } void check_error() { if(::mysql_errno(mysql)!= NULL) { _ftprintf(stderr, _T("Fehler: %s\n"), mysql_error(mysql)); getchar(); exit(EXIT_FAILURE); } } void seperate_connection(void) { ::mysql_close(mysql); } Wenn ich das Programm ausführe gibt es keinen Fehler. Nur wenn das Prog durchgelaufen ist, wird der Fehler "...0xC0000005: Access violation reading location 0xfeeefeee" ausgegeben Woran kann das liegen?? Danke schon mal im voraus für die antworten mfg _Faby_
  11. _Faby_

    C++ MySQL und ODBC

    Ich wusste leider nich wie ich des machen sollte und des is nur kopiert... Wie gesagt ich habe keine Ahnung :S Wie bette ich C Code in C++ ein? Bin noch nich so weit in C++... Wollt jetzt nur Spaßeshalber und weil ich Zeit hab mir ein Programm mit Datenbankenzugang schreiben
  12. Hallo zusammen. Ich hab eine Frage bezüglich MySQL und C++... Also ich hab jetzt in mehreren Foren gelesen dass ich die nachfolgenden header bzw libaries einbinden muss #include <sql.h> #include <sqlext.h> #include <sqltypes.h> #include <odbc32.lib> #include <odbccp32.lib> hab ich gemacht... Nur irg wie find ich so gar nichts zum Thema Tabelle erstellen, bzw wie ich überhaupts mal eine verbindung zu einer Datenbank erstelle... Hat irg jemand ein gutes Tut gesehen oder kann mir irg ein Buch empfehlen? Wäre um jede Hilfe dankbar Wünsch allen noch einen schönen Tag glg Faby EDIT: Zur Info ich hab ODBC 5.1 installiert hab win vista und VS2008
  13. Danke erst mal Aber ich bräucht wirklich alles auf englisch... Hab meinen Chef gefragt der läd mir das englische Office von MSDN runtern Schönen Tag noch an alle mfg _Faby_
  14. Guten morgen. Ich habe eine Frage bezüglich Office 2010. Mein Firma hat Lizenzen für Office 2010 in Deutsch, ich soll es aber auf einem Rechner in Englisch installieren... Kann ich die Sprache irg wo umstellen? Bringt ein Languagepack in Englisch etwas? Wär dankbar für Antworten. mfg _Faby_
  15. Hey cool vielen dank Hab mich schon gewundert dass des mit den 2 Funktionen nicht geklappt hat Jetzt weiß ich endlich warum lg _faby_
  16. Hallo Ich habe eine Frage zu List Controls. Ich bin auf der Suche nach einer Funktion die mir einen Eintrag in einem List Control beim starten des Programms sozusagen "vor"-markiert. Hab die Funktionen CListCtrl::SetSelectedColumn und CListCtrl::SetSelectionMark gefunden. Was ist der unterschied zwischen den 2 Funktionen (hab mir die Beschreibung schon mind 10 mal durchgelesen aber ich versteh es einfach nicht :confused:) Wär echt nett wenn mir jemand helfen könnte Danke schon mal im voraus. MFG _Faby_
  17. Ja eben ich musste in der Real nicht aufpassen und hab trotzdem meine zweier geschrieben^^ jetzt halt mit aufpassen dreier deswegen sag ich is ned so einfach wie real und es geht sehrwohl auch mit 2 h lernen im prinzip ist es schon easy... außer BW des nervt an xDDD Schade ich mochte doch den alten Ponyhof so sehr^^ Ihr habts ja früh aus mir haben immer so bis 16 Uhr^^ und dann noch heimfahren
  18. Also ich muss sagen bei mir is die BS schon nicht soooo einfach wie mans vllt von der Real gewohnt is... Wir haben im letzten Block 3 schulaufgaben 1 ex und 1 Referat in ZWEI tagen geschriben... War schon nimmer schön...^^ Ich find schon dass man viele neue sachen lernt ich, bzw ich bin mal gespannt wie weit wir in PA Java in den nächsten Jahren vertiefen... Wird sicher noch spannender als nur Variablen zu deklarieren (obwohl das manchen auch schon schwer fällt^^) Und JA die meisten Lehrer sind bei uns auch leicht neben der Kappe xD Dann wünsch ich dir mal viel spaß die nächste Woche^^ MfG _Faby_ P.S. ohh hab grad gesehen wir sind in der gleichen BS hehe
  19. damn... okay dann hab ich mich wohl dumm verlesen -.- tut mir echt leid wenn ich bissal arg zickig grad war aber des nervt mich schon seit 9 uhr. Danke vielmals
  20. Entschuldige vielmals, (1 satzzeichen) dass ich nicht daran gedacht habe dass man in essen kein bayrisch kann. (1 Satzzeichen) (Ned == nicht) Das war eine Frage ob ich recht habe oder nicht. (1 Satzzeichen) Da man mit CListCtrl::GetFirstSelectedItemPosition und CListCtrl::GetNextSelectedItem normalerweise nur eine ganz normale ausgabe von reihenweisen Einträgen macht und nicht zurückgegeben bekommt welche der anwender ausgewählt hat. (1 Satzzeichen) Nun zufrieden? Ich will doch nur eine Funktion die mir die Markierten zurückgibt. Damit ich endlich an meinem Prog weiterschreiben kann.
  21. Okay danke für die Info hab ich ned gewusst... Wenn ich die 2 Funktionen verwende wird mir aber alles ausgegeben und nicht nur die vom Anwender Markierten, oder!?!?!?!
  22. Hallo Da ich nun schon seit Stunden auf der Suche nach einer Funktion bin poste ich jetzt einfach mal mein Problem vllt kann mir ja jmd helfen... Also ich hab ein List Control, bei dem der Anwender 2 Einträge auswählen soll bzw kann und die dann "per knopfdruck" vertauscht werden... Allerdings finde ich nirgends eine Funktion die mir ausgibt welche Einträge markiert sind. Sowas wie CListBox::GetSelItems nur für die CListCtrl. Wär sehr verbunden wenn mir irg jmd helfen könnte danke schon mal im vorraus. Glg an alle und nochn schönen Tag _Faby_
  23. _Faby_

    Bluescreen + reboot

    Ich hab Win7 home 64 bit drauf... aber es is bis jetzt nich wieder passiert... zum glück... danke für die antworten schönen Tag noch _Faby_
  24. damn ja klar ^^ ach dass ich des ned gesehen hab... so ein mist Vielen dank
  25. Hallo an alle, Ich habe ein Problem vllt kann mir jmd helfen ALSO: Ich hab ein prog das Werte aus der Registry ausließt und auflistet und man diese dann umsortieren kann. Dazu brauch ich bei RegQueryValueEx den parameter LPCSTR lpValueName. Dieses hab ich durch CString s; POSITION pos = NULL; pos = m_listEnv.GetFirstSelectedItemPosition(); SelectedIndex = m_listEnv.GetNextSelectedItem(pos); s = m_listEnv.GetItemText(SelectedIndex, 0); dann mache ich so dies und das: LONG retn = RegOpenKeyEx(HKEY_LOCAL_MACHINE, m_registryKey, 0L, MAXIMUM_ALLOWED, &regKey); try { if(RegQueryValueEx(regKey, s, NULL, &dwType, NULL, &buffersize)==ERROR_SUCCESS) { m_EnvTokEntries = 0; int zaehler = 0; puffer = (TCHAR*)calloc(buffersize+1, sizeof(TCHAR)); if(RegQueryValueEx(regKey, s, NULL, &dwType, (unsigned char*) puffer, &buffersize)==ERROR_SUCCESS) { TCHAR* tok; tok = strtok(puffer, ";"); while(tok) { alltext[zaehler] = (TCHAR*)_tcsdup(tok); m_EnvTokEntries++; alltext = (TCHAR**)realloc(alltext, ++num_strings * sizeof(TCHAR*)); tok = strtok(NULL, ";"); zaehler++; } UpdateData(true); _tcscpy(speicher, alltext[m_sollVar-1]); _tcscpy(alltext[m_sollVar-1], alltext[m_toVar-1]); _tcscpy(alltext[m_toVar-1], speicher); *speicher = _T('\0'); zaehler = 0; while(zaehler<m_EnvTokEntries) { _tcscat(speicher, alltext[zaehler]); zaehler++; if(zaehler<m_EnvTokEntries) /*HIER*/ _tcscat(speicher, ";"); // <----HIER beim 4. durchlauf } if(RegSetKeyValue(regKey, s, NULL, dwType, speicher, buffersize)==ERROR_SUCCESS) MessageBox("Values have been transponsed.", "Hooray!", MB_OK|MB_ICONSTOP|MB_SETFOREGROUND); } } m_toVar=0; m_sollVar=0; UpdateData(false); if(alltext != NULL) free(alltext); if(puffer!=NULL) free(puffer); } catch(...) { MessageBox("Invalid pointer exception!\n Error reading files filter list.", "ProcessView", MB_OK|MB_ICONSTOP|MB_SETFOREGROUND); } RegCloseKey(regKey); In der letzen Schleife (Siehe Kommentar^^) beim 4. Durchlauf ist auf einmal mein "s" nur noch "mist", wenn ich aus der schleife draußen bin steht nix mehr in meinem CString woran kann des liegen? Bin für jeden vorschlag offen Danke schon mal im voraus Schönen Tag noch allen dies Lesen lg _Faby_

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