Alle Beiträge von Klotzkopp
-
Access - Kombinationsfelder
Falls Du nicht die Automatisierungsschnittstelle verwenden willst, bist Du hier falsch. Außerdem: Doppelter Beitrag -> siehe Boardregeln. Thema geschlossen.
- rand in C
- rand in C
-
CTreeCtrl dynamisch Items hinzufügen
CString strZahl; for(i = 1; i<5; i++) { strZahl.Format( "%d", i ); pCtrl->InsertItem( strZahl, hRoot ); }[/code]Wenn Dir CString nicht gefällt, kannst Du auch itoa oder sprintf verwenden.
-
Schwarzes Loch in unserer Galaxis
Es gibt da einen kleinen Ort im Ennepe-Ruhr-Kreis: http://www.unicum.de/community/cybercafe/images/jamiri3.gif
-
Bilder und MDI
In welcher Form liegt das "Bild" denn vor? Als Ressource im Programm? Als Bitmapdatei?
-
VECTOR und Iterator zurückgeben
Noch was: Wenn Du itref sowieso vect.begin() zuweist, gibt es keinen Grund für den Aufruf von GetDatIterator.
-
VECTOR und Iterator zurückgeben
Naja, wenn Du einen DATVECTOR::iterator dereferenzierst, bekommst Du einen CString (siehe Deine Definition von DATVECTOR). Ich weiß nicht, was Datensatz für ein Typ ist, aber Du kannst offenbar einem Datensatz* keinen CString zuweisen. Das sollte funktionieren: daten = *itref;
-
Borland C++ builder 6 + MySQL
Es gibt Bibliotheken, z.B. MySQLDAC, die diesen Umweg über BDE und OBDC vermeiden. MySQLDAC ist Shareware, aber immerhin royalty-free. http://www.microolap.com/products/dac/mysqldac.htm
-
CTreeCtrl mit recusion Funktion richtig Anzeigen
Welche der vier Versionen von InsertItem verwendest Du? Hast Du den Rückgabewert geprüft?
-
VECTOR und Iterator zurückgeben
Vom Rückgabewert einer Funktion wird eine Kopie angelegt, d.h. Änderungen am Rückgabewert von GetIterator wirken sich nicht auf theDatIterator aus, weil das Original unverändert bleibt. Dieses Kopieren kannst Du unterbinden, wenn Du Referenzen oder Zeiger zurückgibst, z.B.: DATVECTOR::iterator& GetIterator(){return theDatIterator;}; DATVECTOR& GetDatVector(){return theDatVector;}; Für den Aufruf musst Du dann auch eine Referenz verwenden: DATVECTOR::iterator& itref = pDoc->GetIterator();
-
VisualStudio
Es gibt m.W. keine guten Dekompilierer für Visual C++. Das, was solche Programme produzieren, ist meist schwer verständlich, und hat mit dem ursprünglichen Code nichts mehr zu tun. Bitte beachte auch, falls es sich nicht um ein von Dir selbst geschriebenes Programm handelt, dass das Dekompilieren im EULA fast immer explizit verboten ist.
-
MDI: kein dokument bei programmstart
In der InitInstance-Methode Deiner App-Klasse muss zwischen diese Zeilen CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); das hier eingefügt werden: cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
-
Laufwerke und ihre Buchstaben
Du kannst einfach die erste und die letzte Zeile aus dem Beispiel weglassen. Was dann übrig bleibt, kannst Du in Deinen Code einfügen. Du musst Dein Programm mit Winmm.lib verlinken. Das geht entweder über die Projekteinstellungen, oder indem Du in einer cpp-Datei, am besten nach den #includes, folgendes einfügst: #pragma comment( lib, "Winmm.lib" )
-
while
Ich möchte noch anmerken, dass das eine Endlosschleife ist, da janein innerhalb des Schleifenkörpers nicht geändert wird. Zumindest die cin-Anweisung sollte also mit in die Schleife. Zu dem Problem, das Du bekommen wirst, wenn der Benutzer ein nichtnumerisches Zeichen eingibt, siehe: http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=32336&werbeid=29
-
Laufwerke und ihre Buchstaben
Du brauchst #include <mmsystem.h> in TestDlg.cpp, ziemlich am Anfang, aber auf jeden Fall hinter #include <stdafx.h>.
-
CFile
Aus folgere ich, dass Du mit CString (oder einer vergleichbaren Klasse) arbeitest, alles andere würde hier kaum Sinn machen. Wenn Du eine Textdatei einlesen willst, kannst Du CStdioFile verwenden, da kannst Du gleich zeilenweise in einen CString einlesen.
-
"hey man, not that way! ip logged"
Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in News und Feedback zu Fachinformatiker.deDas "amp;" im Link ist wohl ein missratenes & (sozusagen ohne &).
-
Farbe ändern
... // Gerätekontext holen CClientDC dc(this); CPen pen; pen.CreatePen( PS_SOLID, 0, RGB(255,0,0) ); dc.SelectObject( pen ); // Linie vom letzten zum aktuellen Punkt zeichnen dc.MoveTo(m_iPrevX, m_iPrevY); ...
-
GetLength()
Und welchen Wert hat laenge danach?
-
Windows Sockets
Den MSDN-Artikel habe ich auf Anhieb nicht gefunden. Zeig uns doch mal den relevanten Teil des Servers.
-
Mailbombardement mit Worm.BugBear.A
Rechtsklick auf die Mail->Optionen, dann sollten unter "Internetkopfzeilen" die Header angezeigt werden.
-
Daten einlesen - in neuem Formular anzeigen
Überschreibe OnOpenDocument Deiner Dokumentklasse. Diese Funktion wird beim Öffnen aufgerufen, und bekommt den Pfad der im Öffnen-Dialog gewählten Datei als Parameter. Da drin kannst Du dann die Datei auslesen und die Inhalte den Steuerelementen der View zuweisen.
-
MDI - Steuerelement auf Dokument
Der Fehler kommt daher, dass CFormView im Konstruktor ein Argument braucht, und zwar die ResourceId der Dialogresource, mit der sie verknüpft ist. Es ist ziemlich aufwändig, ein SDI/MDI-Projekt nachträglich auf eine andere View-Klasse umzustellen. Wenn es nicht zuviel Aufwand ist, würde ich von vorn beginnen. Du kannst beim Anlegen des Projekts mit dem Assistenten auf der letzten Seite die Basisklasse der View festlegen. Wenn Du da CFormView wählst, wird auch gleich eine Dialogressource angelegt, und die View damit verknüpft. Falls das nicht geht, muss folgendes geändert werden: In CDeineView.h class CDeineView: public CFormView (logisch) //{{AFX_DATA(CDeineView) enum{ IDD = IDD_ZU_VERWENDENDE_DIALOGRESSOURCE }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA In CDeineView.cpp: IMPLEMENT_DYNCREATE(CDeineView, CFormView) BEGIN_MESSAGE_MAP(CDeineView, CFormView) Das gleiche für jeden Eintrag in der MessageMap: Überall muss CView durch CFormView ersetzt werden. Der Konstruktor: CDeineView::CDeineView() : CFormView(CDeineView::IDD) { //{{AFX_DATA_INIT(CDeineView) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // TODO: add construction code here } Außerdem muss bei jeder virtuellen Funktion, in der die Funktion der Basisklasse aufgerufen wird (z.B. DoDataExchange, PreCreateWindow, OnInitialUpdate) CView durch CFormView ersetzt werden.
-
Mailbombardement mit Worm.BugBear.A
Wie sehen denn die Header aus?