sieht titel und hier der code, währe sonst zu lang
http://rafb.net/paste/results/QysNAu33.html
sieht titel und hier der code, währe sonst zu lang
http://rafb.net/paste/results/QysNAu33.html
Wäre aber vielleicht ganz praktisch, wenn du sagen würdest, was nicht geht.
Aber ich hab jetzt ein paar andere Bemerkungen
1) Die Erzeugung einer neuen KConfig Instanz zum Auslesen der Config der Applikation ist nicht nötig, die gibt es schon.
2) als Zielverzeichnis für die Files würde sich eher das KDE Cache Verzeichnis als Wurzel mit einem Unterverzeichnis deiner Applikation anbieten, siehe KStandardDirs und Typ "cache"
3) für das Herunterladen würde ich eher KIO::file_copy benutzen, oder für synchronen Download KIO::NetAccess::download
Das sorgt dafür, dass zB Proxy Einstellungen honoriert werden.
4) Das extrahieren aus einem tar.gz kann man auch über KArchive (KIO) oder den tar IO-Slave machen.
Ciao,
_
Qt/KDE Entwickler
Debian Benutzer
nichts geht, erstartet zwar den process, ich bekomm auch die PID angezeigt, aber es tut sich nichts.Zitat von anda_skoa
verstehe ich nicht ganz, wo? ausserdem muss ich die konfig datei auslesen da ja der versionsstring drin steht und ich ihn an den QString weiter gebe.Zitat von anda_skoa
ok daran habe ich nicht geacht, werde ich benutzen, dankeZitat von anda_skoa
ok, mal schauen was sich da machen lässt, obwohl mir die Qt variante besser gefällt (ist einfacher),Zitat von anda_skoa
aber für ein bsp währe ich dankbar
hmmm.... habe ich mir mal angschaut, werde leider nicht schlau daraus , da ich damit noch nichts gemacht habe, ein bsp währe da auch nicht verkehrtZitat von anda_skoa
Gruß
ChMaster|LFreak
Geändert von ChMaster|LFreak (10-02-2005 um 14:42 Uhr)
Kommt vielleicht etwas am stderr?Zitat von ChMaster|LFreak
Bzw, wenn du einen Slot auf processExited() connectest und dort den exitStatus abfragst, welchen Wert bekommst du dann?
KApplication (d.h. dessen Basisklasse KInstance) hat beim Start bereits die Config des Programms geladen.verstehe ich nicht ganz, wo? ausserdem muss ich die konfig datei auslesen da ja der versionsstring drin steht und ich ihn an den QString weiter gebe.
KApplication::config oder KInstance::config oder KGlobal::config zeigen alle auf diese Instanz, es ist also nicht nötig, sie nochmal selber einzulesen.
Ist im wesentlichen eigentlich gleich.ok, mal schauen was sich da machen lässt, obwohl mir die Qt variante besser gefällt (ist einfacher),
aber für ein bsp währe ich dankbar
Die Funktion KIO::file_copy bekommt Source und Destination URL und erzeugt dir dafür einen FileCopyJob, ähnliche wie QUrlOperator eine QNetworkOperation erzeugt.
Du kannst dann die Signals des Jobs mit Slots von dir connecten.
KTar ist eine Subklasse von KArchive und kann auch gzip und bzip komprimierte tar Archive.hmmm.... habe ich mir mal angschaut, werde leider nicht schlau daraus , da ich damit noch nichts gemacht habe, ein bsp währe da auch nicht verkehrt
Man kann dort so ähnlich wie mit QDir arbeiten, also Verzeichnisse auflisten und Dateien erhalten.
Für den tar IO Slave vermute ich jetzt mal:
man erzeugt aus dem absoluten Filenamen eine tar:/ URL und benutzt dann zB KIO::file_copy um von der "Quelle" in ein Ziel zu "kopieren"
Externes tar ist aber vermutlich erstmal leichter zu implementieren.
Ciao,
_
Qt/KDE Entwickler
Debian Benutzer
hmmm... da haste recht, aber der versionsstring von meinem programm ist in den sourcen festgelegt. ich downloade die datei, die die versionsnummer enthält, lese sie aus und lasse sie dann in einem Textfeld anzeigen, somit wird erst der download button aktiviert wenn die version höher ist als die vorgeschriebene, sonst bleibt er deaktiviert.KApplication (d.h. dessen Basisklasse KInstance) hat beim Start bereits die Config des Programms geladen.
KApplication::config oder KInstance::config oder KGlobal::config zeigen alle auf diese Instanz, es ist also nicht nötig, sie nochmal selber einzulesen.
wie du den sourcen von meinem link sehen kannst über gebe ich auch die stdout aus, aber da geschieht nichts, keine anzeige, nichts ...Kommt vielleicht etwas am stderr?
Gruß
ChMaster|LFreak
Vielleich reden wir über einen anderen Codeteil. Ich meine da hierZitat von ChMaster|LFreak
readVersion ist die selbe Config wie kapp->config() sofern dein Programm dbfevrc heißt.Code:file = QDir::homeDirPath(); file.append( "/.kde/share/config/dbfevrc" ); // read versions string KConfig *readVersion( kapp->config() ); readVersion = new KConfig( file ); readVersion->setGroup( "DBoxFE Version" ); str_ver = readVersion->readEntry( "Version", str_ver );
Tut mir leid, in dem Code der in deinem ersten Posting verlinkt ist, wird nur Stdout gelesen, von Stderr sehe ich da nix.wie du den sourcen von meinem link sehen kannst über gebe ich auch die stdout aus, aber da geschieht nichts, keine anzeige, nichts ...
Ciao,
_
Gruß
ChMaster|LFreak[/QUOTE]
Qt/KDE Entwickler
Debian Benutzer
danke, jetzt seh ich erst das ich es 2x angegeben habe, es reicht nur einmal
anstatt:
kann man auch das hier schreibenCode:readVersion = new KConfig( file );
Code:readVersion = new KConfig( "dbfevrc" );stimmt ich habe nur stdout, stderr kann ich erst dann testen wenn mein rechner wieder da istTut mir leid, in dem Code der in deinem ersten Posting verlinkt ist, wird nur Stdout gelesen, von Stderr sehe ich da nix.
da ich an einem anderen sitze. dieser hatt keine devel packete von KDE installiert und ich installiere
sie auch nicht, sonst gibt es einen auf den Deckel
Gruß
ChMaster|LFreak
Trotzdem noch einmal zuviel.Zitat von ChMaster|LFreak
Die Config deines Programmes ist schon als KConfig Instanz verfügbar!!11!
Du kannst auch ein Wrapper Script starten und dort stderr von tar auf stdout umleiten und so auch stderr in deinem Programm sehen.stimmt ich habe nur stdout, stderr kann ich erst dann testen wenn mein rechner wieder da ist
tar $@ 2>&1
Ciao,
_
Qt/KDE Entwickler
Debian Benutzer
thx, ich mach es nun Mit KTar und KArchive (habe da einige bsps gefunden)
(In den KDevelop sourcen sind 2 bsp enthalten, sind sozusagen keine bsp aber funktionieren)
Lesezeichen