Italia
Foro

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
Downloadcounter26
Download
 
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
Downloadcounter72
Download
35 kB
Hochgeladen:13.03.2009
Downloadcounter66
Download
 
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 è, 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 naturalmente 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, potuto 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  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.721 Views

Untitledvor 0 min.
rumfruggel19.09.2011

Themeninformationen

Dieses Thema hat 3 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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