Alle Beiträge von Klotzkopp
-
MDI Wertübergabe
Du kannst mit CWinApp::GetFirstDocTemplatePosition/GetNextDocTemplate durch alle Dokument-Templates der Anwendung gehen, dann mit CDocTemplate::GetFirstDocPosition/GetNextDoc durch alle Dokumente dieses Templates, und schließlich mit CDocument::GetFirstViewPosition/GetNextView durch alle Views dieses Dokuments gehen. Du kommst also mit einer dreifach verschachtelten Schleife an alle Views. Wenn du nur ein Template hast, kannst du die äußerste weglassen. Das ist ein ernstes Problem, und liegt nicht allein daran, dass du globale Variablen verwendest. Vermutlich schreibst du irgendwo über Arraygrenzen hinweg. Such nach Arrays, die auf dem Heap/Freispeicher angelegt werden (mit new/malloc) und prüfe genau, ob du nicht über den allokierten Bereich hinaus schreibst.
-
Win XP Treibersuche
http://www.aiptek.de/index.php?mapid=24&main=21 Ganz oben...
-
CListCtrl/result - nur ein Icon in der 1. Col anzeigen?
Warum gibst du als zweiten Parameter bei InsertItem nicht einfach NULL oder einen Leerstring an?
-
Pixel in cm auf einem DinA Blatt umrechnen
Ich dachte, du hättest diese Größe. Da das offenbar nicht so ist: Welche Daten kennst du denn? Die, die du bisher genannt hast, reichen nicht aus, um das auszurechnen. Hast du vielleicht ein Bild, das auf A4-Format gestreckt oder gestaucht wird? Dann musst du schon sagen, wieviele Pixel das Bild hat.
-
CListCtrl/result - nur ein Icon in der 1. Col anzeigen?
Wie setzt du denn den Wert bzw. das Icon?
-
Umstellung von MS VC++ 6.0 auf MS VC++ .NET
Wenn du nichts an den Einstellungen änderst, baut VC7 Programme für Windows XP. Das wird gesteuert über das Präprozessor-Define _WIN32_WINNT. Wenn du Windows-98-kompatible Programme bauen willst, solltest du das auf 0x0410 setzen.
-
Umstellung von fstream.h auf CFile
Schließen und anschließendes Wiederöffnen setzt das eof-Flag nicht zurück. Am einfachsten umgehst du das, indem du immer wieder eine neue ifstream-Instanz erzeugst. Du kannst die Parameter von open auch gleich im Konstruktor angeben: ifstream lesen(MainPth+"\\Datei", ios::in);
-
strcpy nachprogrammieren
- strlen nachprogrammieren
Der Compiler darf, wenn der Rückgabewert des Ausdrucks i++ nicht gebraucht wird (z.B. wenn es ein alleinstehender Ausdruck oder das letzte Argument einer for-Anweisung ist), i++ durch ++i ersetzen, wenn er ausschließen kann, das i++ nicht noch andere Seiteneffekte hat. Das können gängige Compiler auf jeden Fall bei eingebauten Datentypen. Bei Klassen (z.B. Iteratoren von manchen Containerklassen) geht das üblicherweise nicht, weil operator++() und operator++(int) überschrieben sind, und der Compiler nicht erkennen kann, ob er den einen einfach durch den anderen ersetzen darf. Dann muss der Compiler bei i++ eine temporäre Variable anlegen, was je nach Typ recht aufwändig sein kann. Darum sollte man sich angewöhnen, überall dort, wo man den Seiteneffekt des Postinkrements nicht braucht, Preinkrement zu benutzen. Kurz: Wenn es egal ist, nimm ++i. Kann nicht schaden, kann eventuell sogar nutzen.- Help !!! Programm Schaltjahr - will nicht so...
Ich habe deine Frage doch 6 Beiträge weiter oben beantwortet :confused:- Umstellung von fstream.h auf CFile
Benutzt du immer wieder dieselbe lesen-Instanz?- Fehler durch BCB5?
Nachrichten? Eintippen? Das ist doch ein Konsolenprogramm, oder? Wo sollten da Nachrichten herkommen? Dein Programm "basiert" nicht auf Unicode. Dazu hättest du UNICODE auf globaler Ebene per Präprozessordirektive (oder in den Projekteinstellungen der IDE) definieren müssen. Und hättest du das getan, hättest du weiter oben nicht ConvertSidToStringSidW schreiben müssen.- Pixel in cm auf einem DinA Blatt umrechnen
Pixelauflösung in DPI geteilt durch 2,54 ergibt Pixel pro Zentimeter. Von der Papiergröße ist das unabhängig, 1 cm ist 1 cm.- ein gutes c++ buch
@bergi: Es gibt hier schon eine ganze Menge Buch-Threads. @CyberDemon: Danke. @Thread: zu bist du!- strcpy nachprogrammieren
Falsche Typen für die Parameter, der erste muss char* sein, der zweite const char *. strcpy gibt char* zurück, nicht int. int main! Warum die Sternchen? und warum willst du Arrays mit uninitialisiertem Inhalt kopieren? Falsche Typen für die Parameter und Rückgabewert, siehe oben Warum das Sternchen? Auch hier, warum die Sternchen? Außerdem, wie Pönk bereits sagte, falsche Richtung der Zuweisung. strcpy gibt den ersten Parameter zurück.- Fehler durch BCB5?
Dein Programm hat keine main-Funktion.- Help !!! Programm Schaltjahr - will nicht so...
Die Schleife wird beendet, auch wenn du das break nicht machst. Allerdings erst dann, wenn der Schleifenkörper abgearbeitet wurde, weil erst dann die Schleifenbedingung wieder geprüft wird. Eine while-Schleife ist keine Laufzeitüberwachung der Schleifenvariable. Die Schleife wird nicht verlassen, nur weil iJahre irgendwo im Schleifenkörper den Wert Null annimmt. Das sieht so aus: 1. Prüfung: wenn iJahre == 0, dann raus 2. cout << 3. cin >> 4. if( ... ) 5. zurück nach 1. Du siehst, nach dem cin >> kommt immer erst der Rest des Körpers. Den willst du aber nicht ausführen lassen, wenn 0 eingegeben wurde. Da du hier break verwendest, könntest du die Schleifenbedingung auch ganz weglassen, indem du while( true ) schreibst. Oder - wie bereits gesagt - du schließt die ganze Prüfung und Ausgabe nach dem cin >> in ein if( iJahre != 0 ) { // Hier Prüfung und Ausgabe } ein.- Windows XP User Profile kopieren !!!
Nein, da hast du was mißverstanden. Default User ist hier kein Platzhalter. Es gibt ein Profil, das heißt tatsächlich "Default User". Das musst du umbenennen.- Fehler durch BCB5?
Hier meinst du vermutlich swprintf. Wenn du nicht UNICODE definierst, aber hier trotzdem die Unicode-Version haben willst, musst du die explizit aufrufen, mit ConvertSidToStringSidW. Dazu wäre es hilfreich gewesen, zu erklären, was der Code tun soll... Hat das einen bestimmten Grund, dass du überall wchar_t benutzt?- Fehler durch BCB5?
Das steht doch in der Fehlermeldung: Ach so, wenn man sich gleichzeitig entschuldigt, darf man machen, was man will? Naja... Also bitte, zeig uns Zeile 130 und Zeile 251 von Unit1.cpp.- Fehler durch BCB5?
Du hast in genau zwei Zeilen Fehler. Und dafür postest du hier so viel Code, noch dazu ohne Code-Tags? Und du kennzeichnest nicht einmal die Zeilen, in denen die Fehler auftreten? Das ist schon ziemlich dreist.- Windows XP User Profile kopieren !!!
So mach ich das bei Domänen-Umzügen immer: - Anmelden als lokaler Admin - Benutzerprofil "Default User" umbenennen (z.B. "_Default User") - Berechtigung für altes Profil hinzufügen: (Jeder: Vollzugriff) - Altes Profil umbenennen nach "Default User" - Abmelden - Anmelden mit Domänen-Account - Warten (!) - Abmelden - Anmelden als lokaler Admin - Altes Profil sichern (dann Rechte zurücksetzen) oder löschen - Profil "Default User" wieder den alten Namen geben. Wahrscheinlich musst du vorher das 001-Profil löschen. Das ganze klappt nur, wenn genug Platz auf der Platte ist, dass das Benutzerprofil zweimal draufpasst.- Brauche Hilfe bei der Aufgabe!
Dieses Board ist weder ein Hausaufgabenservice noch eine Suchmaschinenfernsteuerung. Und schon bei denem letzten Beitrag habe ich den Betreff geändert, so dass man erkennen kann, worum es geht. Und jetzt wieder der gleiche, nichtssagende Betreff? --> closed.- Help !!! Programm Schaltjahr - will nicht so...
Wenn du das verhindern willst, musst du zwischen der Eingabe und der Berechnung aus der Schleife springen, z.B. mit break, oder die Berechnung in ein Block mit if(iJahr != 0) einschließen. So steht's auch in deinem Code: Ist das Jahr durch vier, aber nicht durch 100 teilbar, gibst du "kein Schaltjahr" aus. Du hast übrigens eine do-while und eine while Schleife mit identischer Abbruchbedingung verschachtelt. Eine tut's auch.- Eigenschaften der anzeige
Wenn du diese Befehlszeile ausführen lässt, wird der Dialog "Eigenschaften von Anzeige" angezeigt: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,, Das könntest du z.B. mit ShellExecute machen. - strlen nachprogrammieren