Deutsch
Forum

Problem bei $ProgDir

 

Thomas
Freier
Möchte eine Copy vom Dialogfenster machen. Klapp auch, wenn der Speicherpfad mit GetDir$(@) und nicht mit $ProgDir angegeben wird. Oder gibt es eine elegantere Lösung?
KompilierenMarkierenSeparieren
Beispiel
Kopiert Fensterelemte
Def @Getwindowrect(2) !USER32, GetWindowRect
Def keybd_event(4) !USER32,keybd_event
Def IsIconic(1) !USER32,IsIconic
Def CaptureScreen(0) keybd_event($2C,1,0,0)
Def CaptureActiveWindow(0) keybd_event($2C,0,0,0)
Def SetForegroundWindow(1) !USER32,SetForegroundWindow
Declare hdlg&,endebutton%,ende%,copybutton%,old_file$,text$
Cls
UseFont MS Sans Serif,13,0,0,0,0
SetDialogFont 1
hdlg&=CreateDialog(%hwnd,Dialog,50,114,498,408)
endebutton%=CreateButton(hdlg&,Ende,200,180,60,23)
copybutton%=CreateButton(hdlg&,H-Copy,200,220,60,23)
old_file$ = GetDir$(@)
old_file$ = $ProgDir

WhileNot ende%

    WaitInput
    Case Getfocus(endebutton%): Let ende%=1

    If Getfocus(copybutton%)

        SetActiveWindow(hdlg&)
        CaptureScreen()
        MCLS 500,500
        StartPaint -1
        ClipLoadBmp 0,0;0
        MCopyBmp 0,0-%maxX,%maxY > 0,0;0
        text$= old_file$ + \ + Date$(3) + - + Translate$(Time$(0),:,-) + .BMP
        SaveBmp text$,0,0-500,500
        ClearClip
        EndPaint

    EndIf

Wend


920 kB
Hochgeladen:13.03.2009
Ladeanzahl26
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
13.03.2009  
 




Jörg
Sellmeyer
Schonmal die Ergebnisse der beiden Funktionen verglichen?
KompilierenMarkierenSeparieren
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
13.03.2009  
 




Thomas
Freier
Ja Jörg, wird bei den *.exe in beiden Fällen der richtige Pfad angezeigt. Nur einmal eben eine leere *.bmp erzeugt.
 
Gruß Thomas
Windows XP SP2, XProfan X2
13.03.2009  
 




Jörg
Sellmeyer
Nein, Du hast die Ergebnisse nicht richtig verglichen!! Sie zeigen unterschiedliche Ergebnisse.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
13.03.2009  
 




Thomas
Freier
Denke schon. Vermute jetzt die Ursache beim aktiven Fenster, denn viele Starts nacheinander führen zu 50%er Trefferquote. Ist aber unbefriedigend und ich muß weiter forschen.

37 kB
Hochgeladen:13.03.2009
Ladeanzahl73
Herunterladen
35 kB
Hochgeladen:13.03.2009
Ladeanzahl66
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
13.03.2009  
 



@Thomas:

Du musst unterscheiden zwischen dem Verzeichnis in dem die EXE liegt und dem Umgebungsverzeichnis des laufenden Prozesses.

Wechselst Du z.B. per chDir  (getDir ) nach Laufwerk D:, dann liegt die Exe $progDir  ja trotzdem noch z.B. auf Laufwerk C:.

Musst immer z.B. per chDir  selbst sicherstellen, dass sich das Umgebungsverzeichnis immer am gewünschten Ort befindet, weil ein Umgebungsverzeichnis unter bestimmten Umständen auch geerbt werden kann.
 
13.03.2009  
 




Jörg
Sellmeyer
Nein - es ist alles viel einfacher. Schau Dir das Ergebnis an.
Erstens:
Im Interpreter kann es nicht funktionieren, da dann evtl. vom ProfEd das Projektverzeichnis als aktueller Pfad eingestellt ist. $ProgDir gibt dann aber natürlich das Profnaverzeichnis zurück. Ich vermute aber mal, das war nicht das Problem.
Zweitens:
Wenn also der gesuchte Pfad korrekt ist, hilft es nur, sich das Ergebnis nochmal genau anzusehen und dabei vor allem das letzte Zeichen zu berücksichtigen.
Bei GetDir$() ist das der letzte Buchstabe des Programmpfades und bei $ProgDir?
Wenn Du dann Deine Stringaddition ansiehst, könnte Dir evtl. ein Licht aufgehen:
KompilierenMarkierenSeparieren
old_file$ + \ + Date$(3)
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
13.03.2009  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.772 Betrachtungen

Unbenanntvor 0 min.
rumfruggel19.09.2011

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

Thomas Freier (3x)
Jörg Sellmeyer (3x)
iF (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie