virtuell Realisticer schrieb:
Gibt es eigentlich nicht ne Moeglichkeit fuer Schueler/Auszubildende billiger an Fachliteratur zu kommen?
nicht das ich wuesste (waere zu schoen :)), aber eigentlich sind Azubis/Studenten ja wahrscheinlich die Leute, an die am meisten Fachbuecher verkauft werden und man sich so ja den grossen Markt kaputt
hi NullPlan,
ich werde versuchen, dir eine kleine hilfestellung zu geben:
wieso gehst du nicht nacheinander alle (!) listenelemente deiner listbox durch, und checkst, welche items jeweils selektiert sind?
das ganze liesse sich im einfachsten fall wahrscheinlich wie folgt lösen:
for(int i=0; i<listbox.count(); i++)
{
if( listbox.item(i)->isSelected() )
{
// HIER DEINEN CODE HIN
}
}
achso... prinzipiell würde ich dir noch empfehlen, die dokumentation von qt einzusehen. die ist wirklich erstklassig und man findet sich darin schnell zurecht.
viel spass noch beim coden...
ja, die init-funktionen werden nur einmal aufgerufen. was ich an der geschichte am kniffligsten fand war eben die fehlerbehandlung, falls der daemon mit dem ich über tcp/ip kommuniziere bzw. das device am tty nicht initialisiert werden kann bzw. falls während dem polling der daten die verbindung abreisst.
hab gestern nacht allerdings noch eine interessante seite gefunden auf der beschrieben wird wie ich auf signale reagiere und wie ich cancel und cleanup-handler einrichten kann. denke von daher kann ich auch die init/denit geschichte direkt in den thread packen, allein wegen der übersichtlichkeit.
virtuell Realisticer schrieb:
du brauchst dir eigentlich keine Sorgen machen, denn TCP uebertraegt immer im
Big Endian-Anordnung (Quelle: Linux/Unix-Systemprogrammierung, S. 857)
:-U TCP kümmert sich aber nicht darum, wie du die Daten reintust, wenn du sowas machst
int abc=0x12345678;
send(s, (char *)abc, sizeof(abc));
dann ist das TCP ziemlich egal, weil der nur Byteströme bekommt. Wie die INternen Felder von TCP/IP ausgelegt sind, hilft hier jedenfalls nicht.
Hallo,
damit solltest du immer auf der sicheren Seite sein.
Ich wuesste nicht, wie man es sonst machen koennte, zumindest faellt mir im
Moment keine andere Moeglichkeit ein.
mfg
v R
gibt es unter kdevelop3 aka gideon keinen iconeditor und dialog editor mehr?
oder verwendet man qt3-designer?
wird der automatisch eingebunden?
(auf der hp von kde beziehen sich die faq's und angaben immer auf einen integrierten dialog-editor in kdevelop2).
unter plugins konnte ich in kdev3 / gideon nichts finden.
benutzt jemand kdev3 um kde apps zu erstellen und weiss welchen dialog / iconeditor man wie verwendet?
Du könntest für *.php auch einfach "xterm -e blablabla %s" als Default Action einstellen, aber warum installierst du nicht einfach Apache und packst es in ~/public_html, weißte dann auch gleich wie deine Website im Browser ausschaut.
Edit: Musst dann natürlich irgendwas unschönes reinpacken, damit sich das Ding nicht beendet und "run in Terminal" aktivieren, alles andere als Apache ist Pfusch ;).
Tag,
Ohja stimmt, hab ich garnicht mehr dran gedacht.
Ist ja quasi gepackt die Zeile.
Du gibst dann einfach beim Aufruf von sscanf die Tabs mit an.
//------ snip ---------------
int zahl1,zahl2;
sscanf(buf,"%d\t%d",&zahl1,&zahl2);
//------- snap ---------------
man legt seinem Programm nichts bei. Der andere User kann sich ja einfach Qt3 installieren. Wozu solltest du noch unnoetiger weise binarys von Qt deinem Projekt beilegen, wenn der andere nacher eh Binarys davon hat. Du kannst aber, wenn du die Binarys in ein Packet packst (RPM oder DEB etc.) die Dependencies angeben. Dann installiert der Package Manager automatisch Qt.
Das einzige was du machen koenntest, waer Qt statisch linken.
Ich habe eine schöne rekrusive Suche geschrieben:
void ReadDir(char startdir[MAXBUF])
{
struct dirent *dirzeiger;
DIR *dir=NULL;
char currdir[MAXBUF],*filename=NULL;
dir=opendir(startdir);
if (dir==NULL)return;
struct stat sb;
while((dirzeiger=readdir(dir)) != NULL)
{
filename=(char *)malloc(sizeof((*dirzeiger).d_name));
strcpy(filename,(*dirzeiger).d_name);
if(strcmp(filename,".")==0)continue;
else if(strcmp(filename,"..")==0)continue;
else if(strcmp(filename,"dev")==0)continue;
strcpy(currdir,startdir);
if(strlen(currdir)+strlen(filename)<MAXBUF-1)strcat(currdir,filename);
if (stat(currdir, &sb))continue;
if(S_ISREG(sb.st_mode) && SearchFile(currdir))printf("%s\n",currdir);
strcat(currdir,"/");
if (S_ISDIR(sb.st_mode))ReadDir(currdir);
free(filename);
}
return;
}
bool SearchFile(char *filename)
{
FILE *f=fopen(filename,"rb");
(...fread e.t.c...)
fclose(f);
return false;
}
Meine Probleme sind:
-bei einigen Normalen Files (also keinen Devices oder Sockets, welche ja durch S_ISREG() ausgeschlossen werden), crasht fclose() dass Proggy, obwohl ich mit fread() wunderbar aus der Datei lesen kann
-obwohl ich alle Files ordnungsgemöß mit fclose() schließe bekomme ich, wenn das Programm nicht gerade wegen fclose() gecrasht ist irgendwann:
_mcleanup: gmon.out: too many open files
mynonA schrieb:
könnte es dadran liegen dass du ./MyPerlscript.pl ausführen musst und nicht nur MyPerlscript es sei denn es liegt im $PATH
dann gibts aber keinen "bad interpreter error"
Ich kann dir die genaue Fehlermeldung nicht mehr nennen...
weiss nur noch das er das aktuelle Terminal Fenster nicht finden konnte.
und -lncurses gebe ich auch an... nutze <curses.h> schon länger, wegen move(X,Y).
ja, und getch bzw. getche bekomme ich eine char kette mit dem Werten:
F1 -> '27 91 49 49 126'
F2 -> '27 91 49 50 126'
das tuts ja jetzt erstmal. Hatte mir es jedoch nen bischen leichter vorgestellt.
THX @ ALL
@kingruedi:
Ich weiß, daß es CW für Linux gibt. Wenn ich endlich wieder einen Job gefunden habe, ist das auch eines der ersten Sachen, die ich mir zulege. Aber momentan, muß ich schauen, wo mein Geld bleibt
Ich versuche schon seit Stunden MySQL++ auf meinem RedHat9.1 System zu installieren. Es klappt einfach nicht. Ich benutze den GCC 3.2.2.
Ich hab mir die Source gezogen und die entsprechenden Patches draufgespielt.
Also hab ich den Patch für 3.2.2 drauf, was ja eigentlich so funktionieren müsste.
Aber es kommt folgende Fehlermeldung:
connection.cc: In member function std::string MysqlConnection::info()': connection.cc:112: invalid conversion from \const char*' to `char*'
Naja, ok, also nochmal neu entpackt und den Patch für den gcc-3.3 draufgespielt.
Dann erhalte ich eine Fehlermeldung vom Linker:
../sqlplusint/.libs/libsqlplus.so: undefined reference to `mysql_ti_sql_type_info::mysql_ti_sql_type_info[in-charge](mysql_ti_sql_type_info const&)'
Mhhh..hat irgendwer schonmal den Source installiert und ähnliche Probleme gehabt? Komme einfach nicht weiter