Programm-Verzeichnis ermitteln

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

naja, hast recht. aber was fred geschaffen hat ist einzigartig. in seinen fähigkeiten und seinen fehlern :freak:
Bild
Benubi
Beiträge: 187
Registriert: 22.10.2004 17:51
Wohnort: Berlin, Wedding

Beitrag von Benubi »

so... hab´s gefunden
die engine3d.dll hat gefehlt, deshalb ging es nur aus dem interpreter... :oops:

dennoch vielen dank für die nützlichen sources... (ich schau mal in meinen alten amigabüchern, ob es da vielleicht einen kleinen assemblertrick auch dazu gibt)
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Habe Fred mal das GetCurrentDirectory() als neuen Befehl vorgeschlagen, samt Verweis auf diesen Thread sowie den Windows-/Linux-Beispielen. :D
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

Dazu sollte dann aber auch noch ein [c]GetExeDir()[/c], denn das
Currentdir muss nicht immer das Exedir sein, z.b. wenn man durch eine
Verknüpfung startet.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Lars hat geschrieben:Dazu sollte dann aber auch noch ein [c]GetExeDir()[/c], denn das
Currentdir muss nicht immer das Exedir sein, z.b. wenn man durch eine
Verknüpfung startet.
Habe Anregung noch nachgereicht.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Maurizio555
Beiträge: 53
Registriert: 03.10.2004 10:00
Wohnort: BW

Beitrag von Maurizio555 »

Wie wäre es, wenn man im Forum den Haupteintrag "Vorschläge" hinzufügen würde.
Natürlich ist PB keine Software, die man nach Wunsch erweitert. Trotzdem könnte man sehen, was von den meisten Anwendern gewünscht wird (aus dem deutschen und englischen Forum zusammen) und das dann umsätzen.
Mit fernem Wasser läßt sich nicht ein nahes Feuer löschen.
Tsue Hung (525 n.Chr.).
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

für sowas wäre ich eigentlich auch. Und noch eine Sektion wo man Bugs posten kann. Ich kann mich nicht so im englischem forum beteiligen, mein englisch ist wirklich nicht gut :oops:
Bild
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

LittleFurz hat geschrieben:für sowas wäre ich eigentlich auch. Und noch eine Sektion wo man Bugs posten kann. Ich kann mich nicht so im englischem forum beteiligen, mein englisch ist wirklich nicht gut :oops:
Darüber wurde schonmal diskutiert. Da jedoch der einzig verantwortliche Ansprechpartner Fred nicht unbedingt gut im Deutsch lesen und schon gar nicht im Schreiben ist, sollte das offizielle Bug-Report-Forum im englischen Forum die einzige "Sammelstelle" bleiben. Ähnlich verhält es sich mit den Vorschlägen.

Für eine Weiterleitung, d.h. Benachrichtigung an Fred (per Mail oder Chat), habe u.a. ich bisher gesorgt.

Wenn jedoch der Wunsch einer Mehrheit der Anwender in Richtung eines deutschen Bug-Report sowie "Wunschzettel" (:wink:) Forum geht, soll es nicht an mir liegen.

Unter gewissen Bedingungen, d.h. z.B. bei Bug-Reports knappe und präzise Erläuterungen, kurze und aussagekräftige Beispielcodes, könnte dies die Sache auch leichter machen.

Eines muss sich jedoch jeder bewusst sein, ein Anspruch auf 100%ige Antworten - ggf. noch innerhalb kurzer Zeit - besteht damit nicht.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Rückinfo von Fred:
Es wird neue native Befehle GetCurrentDirectory(), SetCurrentDirectory(), GetUserDirectory(), etc. geben. :mrgreen:

GetExeDir() ist nicht unter Linux möglich, weshalb dieser Befehl (wegen der plattformübergreifenden Kompatibilität) wahrscheinlich eher nicht eingebaut wird. Stattdessen weiterhin auf die WinAPI zurückgegriffen werden sollte.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Andre hat geschrieben:GetExeDir() ist nicht unter Linux möglich,
Wieso denn nicht? Am Anfang des Programmes werden
Argumente an main() übergeben, und das allererte ist
der DateiName selbst. Er braucht also nur am Anfang
den Pointer *argv[] speichern, was er ja sowieso machen
muß um die restlichen Args bekommen zu können (für
ProgramParameter()).

Entweder es ist der komplette Name, oder er beginnt
mit "./" - wie hier zu sehen:

Code: Alles auswählen

//
// appname.cpp
//
// compile under linux:  g++ -O3 -o appname.exe appname.cpp
//
// result:
//   - when called from same dir, it prints "./appname.exe",
//     so AppPath() = current directory
//   - if it returns only "appname.exe", its in the path like
//     "/bin/" or "usr/local/bin/", so you just have to look
//     through the PATH directories where "appname.exe" is.
//   - otherwise it returns the full path, for example:
//     "/home/danilo/appname.exe"
//
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   cout << "\nprogram name: " << argv[0] << endl;
   return 0;
}
Kannste ja Fred mal sagen, er soll sich nicht so anstellen... ;)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten