Seite 2 von 3
Verfasst: 30.08.2005 22:09
von Kiffi
> Diese Dinge sind leider nicht Plattformübergreifend
es ist ja jetzt nicht so, dass in PB nur plattformübergreifende Befehle implementiert sind.
Grüße ... Kiffi
Verfasst: 30.08.2005 22:16
von ts-soft
Okay, es gibt 3 nur Windows Libs: OnError, Printer und Systray, ansonsten werden reine Windows-Funktionen schon sehr vernachläßigt. Ein Wunder das jetzt endlich das normalste unter Windows ein bissel unterstützt wird, nämlich Resourcen.
Verfasst: 30.08.2005 22:28
von hardfalcon
@Wölfli (sry, aber hwasweissichwaswolf kann ich mir zum verrecken nicht merken...

): Hmm, aus der Sicht hatte ich das noch gar nicht betrachtet... Hab das ganze wohl etwas subjektiv betrachtet... Demnach: Entschuldigung, Wölfli!
@Al90: ich verstehe ja, dass es gut gemeint war, aber wenn du solche einfachen WinAPI-Funktionen im Code, Tripps & Tricks-Bereich posten willst, dann fasse doch bitte in Zukunft mehrere Befehle zusammen, ja? Da ist bedeutend übersichtlicher... Gegen das Vorhaben an sich, solche nützlichen, kleinen Codeschnipsel zu posten, ist gar nix inzuwenden, nur sollten sie halt nicht das Forum überschwemmen, sondern in möglichst wenigen Threads zusammengefasst sein. (Solange es sich nicht um zu Labnge Codes handelt)
Verfasst: 31.08.2005 21:19
von al90
hardfalcon hat geschrieben:
[...]aber wenn du solche einfachen WinAPI-Funktionen im Code, Tripps & Tricks-Bereich posten willst, dann fasse doch bitte in Zukunft mehrere Befehle zusammen, ja?
Ja an die idee hatte ich zunächst auch schon gedacht, aber dann dachte
ich mir das es das suchen nach bestimmten dingen nur erschweren
könnte, da man ja nur einen Betreff angeben kann. Deshalb wäre es
mir auch lieber gewesen wenn es sowas wie eine sammelstelle für Codes
gibt, aus die Andre später alles benötigte rausziehen kann um ein neues
CodeArchiv zusammenzustellen. Naja ich muss mir mal was überlegen
wie man es noch verbessern/vereinfachen kann.

Verfasst: 01.09.2005 07:31
von hardfalcon
zum Titel eines zusammenfassenden Threads:
mach doch "BefehlA() / BefehlB() / BefehlC() / BefehlD() / BefehlE()".
So solltest du schon recht viel zusammenkriegen...

Re: AppDirectory Ermitteln!
Verfasst: 01.09.2005 08:59
von rolaf
al90 hat geschrieben:Code: Alles auswählen
; Ermittelt das Verzeichnis des gestarteten Exe-Files!
Procedure.s GetAppDir()
a$=Space(2048)
x=GetModuleFileName_(0,@a$,Len(a$))
b$=GetPathPart(PeekS(@a$))
If Right(b$,1)<>"":b$+"":EndIf
ProcedureReturn b$
EndProcedure
appdir$=GetAppDir()
Debug appdir$
Wobei mich dabei gewaltig stört das in der Entwicklung nicht das Verzeichnis in der die Anwendung erstellt wird als Ergebnis erscheint sondern:
C:\Programme\PureBasic\Compilers\
Insbesondere zum Testen ist das Mumpitz, wäre besser wenn PB gleich im Entwicklungsverzeichnis kompiliert (kann man das evt. einstellen?).
Verfasst: 01.09.2005 09:04
von hardfalcon
@Falo: das Programm arbeitet ja völlig korrekt, und "on-the-fly"-Komplierungen werden halt im Compilers-Ordner durchgeführt. Wäre eventuell besser, wenn PB dafür ein extra Temp-Verzeichnis hätte, das man regelmässig leeren kann (von Programmen die nicht gelöscht wurden, weil z.B. der Rechner aufgrund eines Bugs abgeschmiert ist...). Aber ich hab den "On-the-fly-Müll" lieber in einem einzigen, globalen (Temp-)Verzeichnis, als immer in dem Ordner, in dem ich die Anwendung entwickle. Sonst mülle ich mir ja das Verzeichnis total zu...
Verfasst: 01.09.2005 18:36
von al90
@hardfalcon
Werde ich auch so machen, sofern ich mit der (begrenzten) Betreff-Länge hinkomme.
Anderfalls werde ich erstmal ein paar sachen zusammencoden und dann
mehrere Codes in Kategorien einteilen. Z.B für "Memory-Befehle" oder so.
Ist wohl noch die beste lösung.
Verfasst: 01.09.2005 18:43
von hardfalcon
Guter Vorsatz, Al90!

Verfasst: 01.09.2005 18:45
von ts-soft
Hier mal meine Version, aus meiner Bausteinsammlung. Unterschied ist folgender: Es wird auch in der IDE der richtige Pfad ermittelt, wichtig für INI-Dateien usw.
Code: Alles auswählen
Procedure.s GetExePath()
Prg.s = Space(#MAX_PATH)
GetModuleFileName_(GetModuleHandle_(0), @Prg, #MAX_PATH)
Prg = GetPathPart(Prg)
If (FindString(prg,"\PureBasic\Compilers\", 1))
Prg.s = Space(#MAX_PATH)
GetCurrentDirectory_(#MAX_PATH,@Prg)
EndIf
If Right(Prg, 1) <> "\" : Prg + "\" : EndIf
ProcedureReturn Prg
EndProcedure
Also beim Compilieren in der IDE wird einfach geschummelt, da die IDE autom. CurrentDirectory setzt.
