-
Gesamte Inhalte
9912 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
3
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Klotzkopp
-
Dokument laden und anzeigen
Klotzkopp antwortete auf Technician's Thema in C++: Compiler, IDEs, APIs
Eigentlich sollte sich CDocTemplate::CreateNewDocument um alles kümmern. -
Du kannst bei ADO auch dynamisch binden. Hier habe ich ein kleines Tutorial dazu gefunden.
-
t <<= i; ist gleichbedeutend mit t = t << i; also t = 4 << 3 48 käme in i heraus, wenn du i <<= t machen würdest.
-
Message-ID ist der zwingend vorgeschriebene Header. X-UIDL ist, wie alle Header, die mit X- anfangen, optional und wird nicht von jedem Mailserver unterstützt/ausgewertet.
-
So, wie die Doc/Viewarchitektur gedacht ist, sollte sich die View um die Darstellung und die Dokumentklasse um die Datenhaltung kümmern. Dazu gehört auch die Interaktion mit einer Datenbank. Es zwingt dich aber niemand, dich daran zu halten. Wenn die "Dokumente" nicht geladen und gespeichert werden sollen, und es nur eine Art von View gibt, kannst du auch alles in der Viewklasse machen. Wenn Du 100 unterschiedliche Abfragen hast (unterschiedlich in der Art und Anzahl der Felder des Abfrageergebnisses), dann brauchst Du 100 Recordset-Klassen. Die anderen Objekte kannst du ja problemlos erzeugen. Schau dir die Implementierung dieser Recordset-Klasse doch an. Da stehen Anweisungen, wie insgesamt vier Felder an Variablen der Recordsetklasse gebunden werden. Wie soll diese Klasse funktionieren, wenn du eine Abfrage verwendest, die nur ein Feld liefert? Die Anzahl und Reihenfolge der Einträge zwischen BEGIN_ADO_BINDING und END_ADO_BINDING müssen zu dem passen, was die Abfrage liefert.
-
Na dann sag doch erstmal, für welches Gerät und welches Betriebssystem.
-
Wie wär's denn damit: #include <vector> #include <fstream> #include <string> #include <iostream> using namespace std; vector<int> GetLinePositions( const string& filename ) { vector<int> linestart; if( ifstream textfile( filename.c_str() ) ) { string line; while( true ) { linestart.push_back( textfile.tellg() ); getline( textfile, line ); if( textfile.eof() ) { break; } } } return linestart; } string GetLineStartingAt( const string& filename, int startpos ) { string line; if( ifstream textfile( filename.c_str() ) ) { textfile.seekg( startpos ); if( !textfile.eof() ) { getline( textfile, line ); } } return line; } int main() { string filename = "C:\\WINDOWS\\system32\\eula.txt"; vector<int> linestart = GetLinePositions( filename ); vector<int>::iterator i, iend = linestart.end(); for( i = linestart.begin(); i != iend; ++i ) { cout << *i << endl; cout << GetLineStartingAt( filename, *i ) << endl << endl; } }[/CODE]
-
Ich denke, du kannst einfach dem CommandText-Property des Command-Objekts ein anderes SQL-Statement zuweisen. Du musst aber darauf achten, dass die einzelnen Felder des Abfrageergebnisses auch auf das RecordSet-Objekt passen. Wenn du die Abfrage an ein Recordset bindest (BindToRecordset), und die Ergebnisfelder der Abfrage nicht auf die Membervariablen des Recordsets passen, wird das nicht funktionieren. Für diese Abfrage brauchst Du also ein Recordset, das genau eine Feldvariable enthält, deren Datentyp auf den Datentyp von kundeid passen muss.
-
Was heißt "so geht es leider nicht"? Compilerfehler? Laufzeitfehler? Nicht das gewünschte Verhalten? Bitte gewöhne dir doch an, bei Fehlern den vollständigen Fehlermeldungstext oder eine genaue Fehlerbeschreibung anzugeben. Umso besser kann dir geholfen werden. Und bitte verwende die Code-Tags, damit man deinen Code besser lesen kann. Ich vermute, dass der Compiler sich darüber beschwert, dass du in der Klasse CTAKDoc zweimal die Methode GetRecSet deklarierst, und die beiden sich nur im Rückgabetyp unterscheiden. Das ist nicht erlaubt. Gib einer der Methoden einen anderen Namen.
-
Suche dringend infos über CImageList
Klotzkopp antwortete auf peicher's Thema in C++: Compiler, IDEs, APIs
Erste Anlaufstelle sollte immer die MSDN Library sein: http://msdn.microsoft.com/library/en-us/vcmfc98/html/_mfc_cimagelist.asp -
Schreibst Du ein Konsolen- oder ein Windowsprogramm? P.S.: Thema verschoben nach: C++: Compiler, IDEs, APIs
-
@SgtBadAzz: Hast natürlich recht, ich meinte synchron.
-
Ich würde von VB abraten. Ich halte es für wenig hilfreich, gleich mit reinen GUI-Programmen anzufangen, wenn man nicht einmal ansatzweise den Unterbau versteht. Man fährt sich da m.E. zu leicht auf diese Schiene ein und hat später Schwierigkeiten beim Umsteigen auf andere Sprachen. Ich rate dir, mit einer Sprache anzufangen, mit der du Konsolenprogramme schreiben kannst. Falls das in VB gehen sollte, schlagt mich.
-
Starten eines Programmes auf einem remote Windows 2000 PCs
Klotzkopp antwortete auf eXoCooLd's Thema in Anwendungssoftware
Du kannst Mark Russinovich ja mal fragen, seine Mailadresse steht auf der Seite. Auf der TechEd 2001 hat er die Funktionsweise des Programms beschrieben, aber es war nicht sehr ausführlich, und ich kann mich auch nicht mehr genau daran erinnern. Ich weiß nur noch, dass ich dachte: "Was für ein Hack!" -
Mit Delphi begibst du dich gleich in die Hände einer Entwicklungsumgebung mit GUI und dazugehöriger Klassenbibliothek. Da kann es später schwerfallen, zu unterscheiden, was ein Element der Programmiersprache, und was Beiwerk der IDE ist. Ich würde empfehlen, mit den Grundlagen zu beginnen. Reine Konsolenprogramme finde ich für den Anfang gut, die Sprache ist letztendlich egal. Was den MP3-Player angeht, das solltest du dir abschminken. Und ich hoffe, Du denkst bei Spielen nicht an Grafik. Da lernst Du vielleicht, wie man mit einer Grafik-API umgeht, aber nicht, wie man programmiert.
-
Starten eines Programmes auf einem remote Windows 2000 PCs
Klotzkopp antwortete auf eXoCooLd's Thema in Anwendungssoftware
http://www.sysinternals.com/ntw2k/freeware/psexec.shtml -
Du willst also nach einer bestimmten Zeit eine Eingabemöglichkeit abbrechen? Das geht mit Standard-C/C++ nicht, weil da AFAIK alle Eingabefunktionen asynchron sind, d.h. du hast während der Eingabe keinen Einfluss auf den Programmablauf. Was du vorhast, könnte man mit direkter Tastaturabfrage, mit Timern oder Threads lösen. Wie das gehen könnte, hängt dann aber davon ab, mit welchem Compiler und auf welcher Plattform/Betriebssystem du programmierst.
-
Ich würde setW.end() einmal vorher bestimmen, und nicht j++, sondern ++j schreiben, aber das sollte sich nur auf die Performance, nicht auf das Ergebnis auswirken. Wenn das der ganze Code der Schleife ist, und nur ein Element ausgegeben wird, dann hat das Set nur ein Element. Wahrscheinlich liegt der Fehler an einer anderen Stelle. Zeig doch bitte mal den Minimalcode, mit dem man den Fehler reproduzieren kann. Das hier funktioniert: #include <iostream> #include <string> #include <set> using namespace std; template<class T> void foo( set<T>& s ) { set<T>::const_iterator i = s.begin(), iend = s.end(); for( ;i != iend; ++i ) cout << *i << endl;; } int main() { set<string> s; s.insert("blubb"); s.insert("bla"); foo(s); } [/CODE]
-
Entweder nimmst Du die "ausformulierte Version": typ funktion(set<struktur<string>, greater<struktur<string> >&); Oder du musst, wenn du unterschiedliche Templateargumente verwenden willst, die Funktion auch als Template deklarieren: template<class T> typ funktion(set<struktur<T>, greater<struktur<T> >&);
-
Das gleiche Problem hast Du aber bei deinem Ansatz auch. Beim letzten Schleifendurchlauf hast du keinen nächsten Ordner. Warum musst du da überhaupt auf den Ordner eines anderen Schleifendurchlaufs zugreifen? Du löschst die Dateien und erstellst die Logdatei. Wo ist das Problem?
-
Warum merkst du dir nicht den Wert vom letzten Schleifendurchlauf in einer Variablen? Der Effekt wäre derselbe.
-
Oder: Die Datei einmal komplett durchgehen, und die Positionen der einzelnen Zeilenanfänge merken. Dann kann man später direkt an diese Stelle springen.
-
Dann hat der Update auf Windows 98 SE mit ziemlicher Sicherheit deswegen geholfen, weil 98 SE den IE5 mitbringt, und der wiederum MDAC 2.1x. Mit OOP oder allgemeinem Unvermögen von Windows 98 hat das jedenfalls nichts zu tu.
-
Wahrscheinlich brauchte er nur eine aktuellere Version der MDAC. Welche Datenbankschnittstelle hast du denn verwendet?
-
weibl. Namenszusätze
Klotzkopp antwortete auf mixki's Thema in News und Feedback zu Fachinformatiker.de
Das wurde bereits mehrfach ausführlich in der Board- und Sitediskussion behandelt, unter anderem hier: http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=34473&werbeid=16