Zum Inhalt springen

Don_Pazo

Mitglieder
  • Gesamte Inhalte

    164
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Don_Pazo

  1. Hallo, ich habe ein Programm mit MFC erstellt. Das Programm hatte am Anfang keine Name und ich habe irgendwelche schwachsinn geschrieben. Jetzt soll ich aber das Programmname endern und leider finde ich nicht wie ich das machen kann. Könnte mir bitte jemand sagen, wie ich den Programmname ändern kann???
  2. Ja jetzt habe ich es. Bei der zweite aufruf der Funktion GetCurrentDirectory() wird ein falsches Pfad gezeigt. Man soll die Funktion GetCommandLine() oder GetModuleFileName() benutzen.
  3. Ich habe eine MCF Programm (SDI) mit Visual C++. Das ist eine HTML-Anwendeng. Zusetzlich kann man eine Dialogfenster öffnen mit verschiedenene Drop-Down Felder. Und genau hier kommt das Problemm. Beim erstes mal als man diese zusetzliche Optionfenster öffnet ist alles in Ordnung. Die Drop-Down laden sich von der *.ini Datei. Man wählt seine Optionen klickt OK, so weit so gut. Abchengig von der gewählte Optionen in dieser Dialogfenster wird man mit einer Webseite verbunden und es zeigt sich eine Tabele. Wenn ich aber die Tabele speichere und dann das Dialogfenster noch mal öffne, wird er mit keinen Datensetze von der *.ini Datei geladen. Das ist meine Code in *.cpp Datei von der Dialogfenster,ich weiss es nicht was da falsch ist, dass sich die Datensetze nicht beim zweiten abruf laden. Woran kann es liegen ?? BOOL CVerbindung::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Zusätzliche Initialisierung hier einfügen CString strServer; CString strOption; CString strVerschl; // Verbindung Verschlüsselung // gelesene Zeile (laufwariable in CString) CString strServerZeile; CString strOptionZeile; CString strVerschlZeile; // gelesene Zeile (laufwariable) int iServerZeile = 1; int iOptionZeile = 1; int iVerschlZeile = 1; // "pPfad" wird dinamisch erzeugt char *pPfad = new char[1024]; // casteing (laufwariable in CString) strServerZeile.Format(_T("%d"),iServerZeile); strOptionZeile.Format(_T("%d"),iOptionZeile); strVerschlZeile.Format(_T("%d"),iVerschlZeile); // **** Pfad bis zum Datei zusammensetzen **** // GetCurrentDirectory(1024,pPfad); strcat(pPfad,"\\Settings.ini"); /**** Kontrollkästchen ausschalten ****/ m_bServer = FALSE; m_bHttps = FALSE; // Eingabefeld 'Server eingeben' nur zum lesen GetDlgItem(IDC_SERVER_COMBO)->EnableWindow(FALSE); // Eingabefeld 'Verbindung verschlüsseln' nur zum lesen GetDlgItem(IDC_HTTPS_COMBO)->EnableWindow(FALSE); /***** VERBINDUNG VERSCHLÜSSELN ComboBox von INI-Datei einlesen ****/ while(strVerschl !="ENDE") // lauf bis "ENDE" { // INI-Datei wird eingelesen GetPrivateProfileString("VERBINDUNG",strVerschlZeile,"ENDE",strVerschl.GetBuffer(1001),1000,pPfad); // FELER-MELDUNG !!! if (!GetPrivateProfileString("VERBINDUNG",strVerschlZeile,"ENDE",strVerschl.GetBuffer(1001),1000,pPfad) ) { MessageBox("Das INI-Datei kann nicht gelesen werden","Hinweis"); } // das Rückgabewert wird strServer übergeben strVerschl.ReleaseBuffer(); // falls das ENDE noch nicht ereicht wird das Ergebnis ComboBox übergeben if(strVerschl != "ENDE") { m_cHttpsCombo.AddString(strVerschl); if(strVerschlZeile == "1") { // Das erste Wert in der INI-Datei wird vorgemerkt int index = 0; m_cHttpsCombo.SelectString(index, strVerschl); } } iVerschlZeile++; strVerschlZeile.Format(_T("%d"),iVerschlZeile); } // dinamisch erzeugte "pPfad" wird freigegeben delete [] pPfad; // Dialogfeld mit den Werten aktualisieren UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zurückgeben } Oder vieleicht liegt es am Speichern, aber mit scheint da alles in Ordnung. Ich poste auf jeden Fall auch diese Funktion void CE_LearnView::OnFileSaveAs() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen CString m_strDateiname; // Objekt der Klasse CFileDialog erstellen CFileDialog m_File(FALSE, "", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Textdateien (*.csv, *.prn*, .txt)|*.csv;*.prn;*.txt| Alle Dateien|*.*||"); // Dialogfeld öffnen und Ergebnis auffangen if(m_File.DoModal()==IDOK) { // Gewählten Dateinamen ermitteln m_strDateiname = m_File.GetFileName(); // Datei speichern CStdioFile file; file.Open(m_strDateiname, CFile::modeCreate | CFile::modeWrite); file.WriteString(m_strHtmlDaten); file.Close(); } UpdateData(FALSE); }
  4. Mit dieser Code habe ich geschaft von einer rohen HTML-Datei den Tags zu löschen und nach jeder Datensetz eine ";" zu schreiben. So wird die Datei beim speichern eine so genannte *.csv Datei. void CE_LearnView::StringAendern2() { CString strHtmlKopi =(""); // HTML-Code mit Tags CString strHtmlDaten =(""); // nur die Daten aus der HTML-Code CString strZeichen =(""); int iLaenge; // Lände der CString int iIndex; // lauf wariable int iKlamer_auf = 0; // Position in dem CString von '<' Klammer int iKlamer_zu = 0; // Position in dem CString von '>' Klammer strHtmlKopi = m_strHtml; // Es wird die Position für neue Zeile markiert strHtmlKopi.Replace("</TR>","###</TR>"); // nicht ausgefühlete Kästchen in der Datenbank werden mit leere Zeichen eingefühlt strHtmlKopi.Replace("><","> <"); // Es werden Sonderzeichen bearbeitet strHtmlKopi.Replace("&","&"); strHtmlKopi.Replace(".",","); iLaenge = strHtmlKopi.GetLength(); iLaenge = iLaenge - 1; for (iIndex = 0; iIndex <iLaenge; iIndex++) { if (strHtmlKopi[iIndex] == '>') { iKlamer_zu = iIndex + 1 ; } if (strHtmlKopi[iIndex] == '<') { iKlamer_auf = iIndex; } if (iKlamer_zu !=0 && iKlamer_auf != 0 && strHtmlKopi[iKlamer_auf - 1] != '\n') { for (iKlamer_zu; iKlamer_zu < iKlamer_auf; iKlamer_zu++) { // Zeichenweise kopieren den Text, // den zwischen Klammer stehet <TAGS> TEXT <TAGS> strZeichen = strHtmlKopi.GetAt(iKlamer_zu); // die Zeichen in der strHtmlDaten speichern strHtmlDaten += strZeichen; } // gespeicherte Datensätze werden mit Koma getrent strHtmlDaten += ";"; iKlamer_zu =0; iKlamer_auf =0; } } // die erste 5 Zeichen in der fertigen CString werden gelöscht // die sollen ' ; ;' sein, so kann die Tabele leichter angepast werden !!!!! strHtmlDaten.Delete(0,5); // neue Zeilen werden ermittelt strHtmlDaten.Replace("###","\n"); // KONTROLLE MessageBox(strHtmlDaten); m_strHtmlDaten = strHtmlDaten; }
  5. Die Zeile meinst du vielleicht: strTextKopi.Delete(index, (endIndex - index + 1)); Nach alle bemühungen kann ich nur sagen, dass das Problem irgendwo anders liegt. Jetzt ist die Code felerfrei, aber das Ergebnis immer noch wie früher sisi mimi katja 90 60 90 usw... Vieleicht liegt daran, dass ich eine HTML umwandle .............
  6. Es ist endlosschleife, das Code bringt das Programm zum stehen
  7. Die Code funktioniert bei mir leider nicht nicht: CString strTextKopi; strTextKopi = m_strText; int index = 0; int endIndex = 0; int laenge ; laenge = strTextKopi.GetLength(); while (index <= laenge && index != -1 && endIndex != -1) { index = strTextKopi.Find('<'); if (-1 == index) break; endIndex = strTextKopi.Find('>'); if (-1 == endIndex) break; strTextKopi.Delete(index, endIndex - index); laenge = strTextKopi.GetLength(); } // Nun sollte das Ergebnis ordentlich in strTextKopi stehen... m_strText = strTextKopi; MessageBox(strTextKopi);
  8. Ich habe gerade mit deinen Code versucht. Das Programm bleibt stehen. Danke für die Code ebenfalls. Ich habe nicht erwent das das CString von eine HTML Seite gefühlt wird. Das soll aber keinen Problem sein, weil ich alle Tags lösche.
  9. void CE_LearnView::StringAendern() { CString strTextKopi; CString strVertig; int index = 0; // laufvariable int laenge = 0; // gesammt Länge von CString int auf_index = 0; // index für "<" (Klameer auf) int zu_index = 0; // index für ">" (Klameer zu) strTextKopi = m_strText; // initialisiren //strVertig = ""; laenge = strTextKopi.GetLength(); // Länge ermitteln laenge = laenge - 1; for(laenge; laenge >= 0; laenge--) { if (strTextKopi[laenge] == '>') { zu_index = laenge + 1; } if (strTextKopi[laenge] == '<') { auf_index = laenge; index = 1; } if (index == 1) { zu_index = zu_index - auf_index; strTextKopi.Delete(auf_index, zu_index); index = 0; zu_index = 0; auf_index = 0; } } strTextKopi.Replace("\n", ""); // ES FUNKTIONIERT LEIDER NICHT m_strText = strTextKopi; MessageBox(strTextKopi); }
  10. Danke guter Rat. Es gibt aber jetzt etwes was stört. Wenn man mit CString :: Delete arbeitet wird das CString mit neuen Zeilen nach jedem Delete operation versetzt. Beispiel: ... <class 'ress'>Sisi</td><class 'ress'>Mimi</td><class 'ress'>Nina</td><class 'ress'> <class 'ress'>90</td><class 'ress'>60</td><class 'ress'>90</td><class 'ress'> <class 'ress'>017399</td><class 'ress'>016055</td><class 'ress'>017022</td><class 'ress'> ...... nach dem Delete Operazion siet so aus: Sisi Mimi Nina 90 60 90 017399 016055 017022 was ich will ist aber das die Datensätze so sind: SisiMimiNina 906090 017399016055017022 was ich brauche. Ich habe es wersucht bei Delete einen zeichen weniger zu löschen und statt ">" einen Backspace zu machen. Das solte das negatiwe Efekt von der Neuezeile kompensieren. Es klapt aber nicht: strTextKopi.Replace(">", "\b"); // '\b' Backspace Konnt ihr mir noch bischen helfen?
  11. Hallo, ich habe in einen CString Datensätze gespeichert. Meinen CString enthällt sehr viele unnütige Daten die zwischen "< >" Klamer stehen. Dazu will ich meinen CString bereinigen. Ich habe versucht mit der Funktion CString :: Delete () leider mache ich irgendwas fallsch, kann mir jemand bitte helfen? Was habe ich falsch bei der Funktion gemacht, und wie kann ich es gut machen ? CString strTextKopi; strTextKopi = m_strText; // initialisiren (public: m_strText) laenge = strTextKopi.GetLength(); // Länge ermitteln laenge = laenge -1; for(laenge; laenge > 0; laenge--) { if (strTextKopi[laenge] == '>') { zu_index = laenge; } if (strTextKopi[laenge] == '<') { auf_index = laenge; index = 1; } if (index == 1) { strTextKopi.Delete(auf_index, zu_index); index = 0; } }
  12. Hallo, ich habe mich bis jetzt mit C, C++, Visual C++ bescheftigt. Ich muss, soll ... aber ,wei auch immer, mit Java anfangen. 1. Könntet ihr mir bitte Rat geben, welche Programm ich herunterladen soll, damit ich unter Java programmiren kann? 2. Gibt es bei Java was vergleichbares wie Visual C++? 3. ist es möglich das ich C++ Headers in Java-Code einbinde? Danke.
  13. Ich habe gute Rat bekommen, und es hat geklapt: void CE_LearnView::OnFileOpen() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen CFileDialog m_ldFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, "HTML |*.htm; *.html| Alle Dateien|*.*||"); if(m_ldFile.DoModal() == IDOK) { Navigate2(m_ldFile.GetPathName(), 0, NULL); } }
  14. Weil wenn ich ShellExecute implementiere öffnet mit das Programm die Datei nicht in menen Programm sondern im Internet Explorer. Bitte um Hilfe
  15. Hallo, ich habe eine Programm mit MFC erstelt. Es ist SDI Anwendung. Das Programm funktioniert enlich wie Internet Explorer. Wie kann ich auf meine Felstplate gespeicherte *.html in dem Program öfnen. Ich will nicht das sich der *.html in andere Program (Internet Explorer)öfnet wie bei: ShellExecute(NULL, "open", m_strDateiname, NULL, NULL, SW_SHOW);
  16. Ja, Und wenn ich später als *.csv speichern will ("habe ich oben gemeint"), wie geht es das
  17. Ich kenne mich bischen. Es soll eine Tabel zwischen <table> .... </table> stehen. Könntest du mal weiter helfen, wie kann ich Zeile für Zeile das HTML-Dokument in strings kopieren
  18. Hallo Klotzkopp, du hast sehr gut formoliert das was ich eigentlichFragen wolte. Deine erste zwei Fragen sind mir zur Zeit amwichtigsten: 1.Wie ich an den HTML-Code rankomme? 2. Wie ich die Daten aus HTML raushole? 3.Wie ich eine CSV-Datei erstelle? Grüss
  19. Das Programm, das ich habe, fuktioniert voldendermassen: 1. Das Programm ist mit Visual C++ (MFC) erstelt worden. 2. Es ist SDI Anwendung, und es ist keinen TextEditor (CTextView) sondern HTML (CHatmlView) 3. Wenn man auf "verbindung..." klickt, zeigt sich einen Dialogfenster in dem man: |Server| |................| |Benutzername| |................| |Passwort| |................| Statistik| |................| eingeben kann. 4. Beim OK klicken, bildet die Wariable LINK ungefähr so was: LINK = "http://" + m_strServer +"//FCB.HaHa//" + ........; 5. Dann wirt die vorhandene Information als Html-Seite auf meinen Programm gezeigt. Problemmen: 1: Ich möchte das die Information nach dem in dem Programm als HTML gezeigt wurde, als *.csv Datei speichern. Bitte, kann mir jemand Rat geben wie ich das lösen kann ?
  20. Ja die Tabelle kommt von der Datenbank, das Problem ist das ich nicht weis was für eine. Können sie mir bitte einen beispiel Code zeigen, mit dem ich das Zeichensetzt in string's speichern kann??
  21. Hallo, ich habe eine Programm mit MFC (Visual C++ 6) erstellt. Es ist SDI, und es ist auf die Klasse (class CE_LearnView : public CHtmlView) basiert. Das Programm ist etwas enliches wie Internet Explorer nur das man in einene bestimten Link ferschiedene Optionen wählen kann, z.B. http://www.server/bla/ble/OPTIONEN Mann wählt die gewühnschte Option und drückt OK. Es wird das Ergebnis gezeigt wie HTML, (weil die class CE_LearnView : public CHtmlView ). Ich brauche es, weil auf dem Server sind mehrere Tabelen. Die ich mit dem Programmchen, mit Hilfe verschiedene ComboBox Optionen , anzeige. Die Tabelen kann ich aber nur als HTTP zeigen. Daraus volgt das ich die in *.csv oder Exel umwandeln soll damit man arbeiten kann. Ich hoffe das jeimand einen Rat hat, ich bin nemmlich schon hilfslos !!! Ich wersuche es seit lange aber leder gelingt es mir nicht die HTML Ergebniss als *.csv Datei zu speichern. Bitte, weist jemend wie ich HTML seite von class CE_LearnView : public CHtmlView als *.csv speichern kann?
  22. Sehr gute Rate habt ihr. Ihr alle meint aber: "Ich soll warten und hoffen ....." tol ))
  23. Ja, habe ich, auch heute morgen. Ich weiss es auch nicht was da los ist?? Weist ihr, ob man noch was anderes machen kann?

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