-
Gesamte Inhalte
9.912 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
3
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Klotzkopp
-
-
MS Visual C++ hat zwar eine conio.h, aber da sind einige Methoden, wie eben clrscr oder auch gotoxy nicht drin, die bei anderen Compilern vorhanden sind.
-
Kannst Du laut sagen. Ich tippe auf eine Übungsaufgabe oder auf eine Demonstration, was für schrecklichen Code man mit C produzieren kann
-
Also, als erstes wird der Prä-Inkrementoperator ausgewertet, damit ist a 13. Dazu wird a++ addiert, der Post-Inkrementoperator macht a zu 14, gibt aber 13 zurück. Danach wird zu a (jetzt 14) das Ergebnis der Addition (26) addiert, und wir sind bei 40.
Wer denkt sich denn so was aus?
-
Original geschrieben von mst
2. Das Problem mit der Listbox verstehe ich nicht. Wenn du die Funktion des Buttons hast OnBtnClick() wie auch immer und da drin der Listbox Elemente hinzufügst mit AddString() müßte das doch eigentlich funktionieren, oder nicht?
So wie ich Comroader verstanden habe, soll der Button einen anderen Dialog öffnen, und der hat eine Listbox.
@Comroader:
Schreib in der ersten Dialogklasse (die mit dem Button) eine Methode, die Listbox füllt, und ruf diese aus der OnInitDialog der anderen Dialogklasse (die mit der Listbox) auf. Dazu muss sich die zweite Dialogklasse einen Zeiger auf die erste merken:
class CDlg1
{
void FillListBox( CDlg2* pDlg2 ) {
// pDlg2->m_ctlListBox->AddString...
}
void OnButtonXY() {
CDlg2 dlg;
dlg.m_pDlg1 = this;
dlg.DoModal();
}
};
class CDlg2
{
CDlg1* m_pDlg1;
CListBox m_ctlListBox;
virtual BOOL OnInitDialog() {
// ...
m_pDlg1->FillListBox( this );
// ...
}
};
[/CODE] -
Es könnte auch daran liegen, dass Deine Version von rar älter ist als die, mit der die Dateien gepackt wurden.
Die aktuelle Version ist 2.90, bei RarSoft erhältlich.
-
Ich glaube nicht, dass Dir die Bezeichnungen auf dem Kabel weiterhelfen, weil die Kabel die gleichen sind. Das Kabel weiß ja vorher nicht, wie die Stecker befestigt werden, und das ist der einzige Unterschied zwischen normalen und gekreuzten TP-Kabeln.
Dir wird wohl nichts anderes übrig bleiben, als die Farben der Kabel an den Steckern zu prüfen, oder jedes Kabel auszuprobieren.
Du kannst übrigens den Unterschied zwischen einem gekreuzten und einem normalen TP-Kabel nicht dadurch herausfinden, dass Du einen Stecker eines Kabels mit dem eines anderen vergleichst. Wie sandman schon sagte, wenn die beiden Stecker eines Kabels unterschiedlich sind, ist es ein gekreuztes Kabel.
-
Wird ja auch. Der neu allokierte Speicher wird aber zuerst dem Zeiger pDummy zugewiesen, damit der bestehende Array kopiert werden kann.Original geschrieben von Dorotheaaber das problem ist trotzdem dasselbe. wenn im unteren teil steht:
pAnlagen[iIndex].strForm = strForm;
kann das nicht gehen, da pAnlagen NULL ist. ich denke, für pAnlagen müsste vorher auch mit new speicher angefordert werden.
Der Schleifenkörper besteht nur aus einer einzigen Anweisung:zu der for-schleife: wie kommt man jemals da rein, wenn iSize erst innerhalb dieser Schleife erhöht wird?pDummy=pAnlagen;
Der Rest des if-Blocks, und damit auch die Erhöhung von iSize, steht außerhalb der Schleife. Das for hat keine geschweiften Klammern, dadurch geht der Schleifenkörper nur bis zum nächsten Semikolon.
-
Jou, hab gar nicht daran gedacht, das zu versuchen. Danke!
-
Hallo Admins,
Wenn Eure Server nicht gerade irgendwo auf den Britischen Inseln stehen, dann ist das:
"Alle Zeitangaben in WEZ."
vielleicht noch nicht ganz richtig
-
Diese Schleife wird beim ersten Mal gar nicht durchlaufen, weil iSize 0 ist, und die Schleifenbedingung i<iSize lautet.wenn du später beim ersten durchlaufen der schleife sagst, pDummy[0] = pAnlagen[0], wird pDummy auch NULL. und wenn du darauf zugreifen willst, erhältst du die sattsam bekannte meldung "access violation at XXXX".
Nein, das ist kein Problem, ein delete auf einen NULL-Zeiger bewirkt gar nichts.ausserdem könnte ich mir vorstellen, dass der versuch, delete auf einen NULL-Zeiger anzuwenden, ebenfalls einen absturz verursacht. -
Du solltest erst die Struktur füllen und danach den Index inkrementieren.
-
Vielleich solltest Du bei nosound Klammern angeben
Hat Dich der Compiler nicht gewarnt?
-
Je nach Windows-Version z.B. Systemsteuerung - System - Erweitert - Umgebungsvariablen.
-
<STRONG>
/* Falls ich schon eine Datei durchsucht habe, ist nScnt > 0, da ich mit jedem Wort nScnt erhöhe. Folgendes mache ich, damit die Wörter die ich bereits
in die index.tmp.txt geschrieben habe (welche ich am ende in index.txt umbenannt habe), auch weiterhin in der Datei stehen, und der Rest nur angehängt wird */
if(nScnt>0)
{
nD = 2;
while(nD!=EOF)
{
nD = fgetc(FX);
szAusgelesenes[0] = nD;
fwrite(szAusgelesenes, sizeof(char), 1, FW);
}
fclose(FW);
fclose(FX);
FX = fopen(chB, "r");
FW = fopen(chA, "a+");
}[/code]</STRONG>
Hier liegt der Fehler. Wenn fgetc EOF (-1) zurückliefert, schreibst Du trotzdem noch ein Zeichen in die Datei. Dabei brichst Du den int, den fgetc geliefert hat, auf einen unsigned char herunter, so dass 255 übrig bleibt, was dem Y mit zwei Punkten entspricht.
Besser wäre:
while( EOF != ( nD = fgetc(FX) ) ) {...
Dann kannst Du Dir auch die Vorbelegung von nD sparen.
Ach ja, anstelle von fclose und anschließendem fopen kannst Du auch einfach fseek(FX, 0, SEEK_SET) benutzen.
-
Die Parameter von basic_string::substr sind nicht Von,Bis sondern Von,Anzahl!
Versuchs mal mit
l_searchString_s = l_completeString_s.substr(l_completeString_s.find("~",0)+1,l_completeString_s.size() - l_completeString_s.find("~") -1 );
Falls das nicht hilft, setz mal die -1 am Ende auf -2. Kann ja sein, dass l_completeString_s schon ein nicht druckbares Zeichen am Ende hat.
<FONT COLOR="#a62a2a" SIZE="1">[ 19. Dezember 2001 15:25: Beitrag 3 mal editiert, zuletzt von Klotzkopp ]</font>
-
Vielleicht hängt noch ein Leerzeichen hinten dran?
-
Nein, eigentlich nicht.
Gib doch einfach mal die Strings direkt vor dem Aufruf von find aus.
-
cout interpretiert den Rückgabetyp von basic_string::find anscheinend als unsigned. 4294967295 ist FFFFFFFF, was -1 bei einem vorzeichenbehafteten Typ entspricht.
-
Das liegt daran, dass Dein Editor ANSI benutzt, die Konsole aber ASCII. Und die Codes für Umlaute sind in diesen beiden Codierungen unterschiedlich.
Wenn Du Strings direkt ausgeben willst, dann kannst Du statt der Umlaute Escape-Sequenzen benutzen:
ä \x84
ö \x94
ü \x81
Ä \x8e
Ö \x99
Ü \x9a
ß \xe1
z.B. printf( "St\x94rung!" );
Wenn Du eingelesene ANSI-Strings auf der Konsole ausgeben willst, dann könntest Du sowas machen:
for( char* p= pAnsiString; *p; p++ ) {
switch(*p) {
case 'ä':
*p = 0x84;
break;
case 'ö':
*p = 0x94;
break;
// usw.
default:
break;
}
}[/code] -
Jau, schon klar. Ich wollte mit dem Code nur zeigen, dass in den Strings nicht das stehen kann, was Kai als Beispiel angeführt hat, weil sonst 24 und eben nicht -1 rauskommen würde.
-
string s1( "01-12-06 15:39:32.465 0 Connecting to DB" );
string s2( "Connecting to DB" );
int i = s1.find( s2 );[/code]Da kommt bei mir 24 raus.
Setzt doch mal einen Breakpoint auf die Zeile mit dem find, und prüf nach, ob in den Strings wirklich das drin steht, was drin stehen sollte.
<FONT COLOR="#a62a2a" SIZE="1">[ 19. Dezember 2001 13:00: Beitrag 1 mal editiert, zuletzt von Klotzkopp ]</font>
-
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Poldi:
<STRONG>du mußt in der klammer mit angeben, wo er anfangen soll zu suchen.</STRONG>
Nein, der zweite Parameter hat den Default-Wert 0.
size_type find(const basic_string& str, size_type pos = 0) const;
-
Stimmt die Groß-/Kleinschreibung?
Poste doch mal ein Beispiel für l_completeString_s und l_searchstring_s, das nicht gefunden wird.
<FONT COLOR="#a62a2a" SIZE="1">[ 19. Dezember 2001 12:04: Beitrag 1 mal editiert, zuletzt von Klotzkopp ]</font>
-
Verschieb die Implementierung von VAtoi in die Datei DataTimeEdit.cpp, und lass in DataTimeEdit.h nur die Deklaration stehen:
bool VAtoi(CString str, int &res);
Das gleiche solltest Du mit allen Funktionen machen, deren Implementierungen in .h-Dateien stehen, um zukünftige Linkerfehler zu vermeiden.
Winsock - Fehler beim kompilieren!
in C und C++
Geschrieben
Wenn Du windows.h includest, brauchst Du die winsock2.h nicht mehr, denn die wird schon in der windows.h mit eingebunden.