Deutsch
Forum

Cursor-Position erzwingen

 
In meinem Faulenzer-Programm übergebe ich über die Zwischenablage Texte an eine Datei mit Append #x - Das funktioniert auch, nur wird dann jedesmal der Cursor ein paar Zeilen tiefer gesetzt. Der nächste Text steht also ein ganzes Stück weiter in der Datei. Gibt es eine Message mit der ich den Cursor beim Auslesen der Datei direkt hinter den letzten Eintrag zwingen kann ?
 
12.03.2007  
 




Michael
Wodrich
Das liegt nur an den zusätzlichen Zeilenschaltungen.
Schreibst Du keine hinein (bzw. filterst vorher das Blockende auf Zeilenenden) dann sollte alles im Lot sein.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
12.03.2007  
 



@Hallo Michael

Der Text wird mit SLEEP 200 eingetragen, da hier WAITINPUT nicht geht. Natürlich schreibt das Prrogramm dann noch Leerzeilen bis zum nächsten SLEEP - wie aber filtere ich das Textende ? - KLeiner Denkanstoss wäre hilfreich - Daaanke

@iF

[offtopic] Hier in der Eingabe ist der Cursor manchesmal nicht sichtbar. Egal ob ich mit der Maus auf die Position klicke oder die Richtungstasten benutze. [/offtopic]
 
13.03.2007  
 



[offtopic]Ich weiß nicht warum Firefox das tut. Hierzu auch:  [...] 
 
13.03.2007  
 




Michael
Wodrich
Da müßte ich schon ein Bischen Code um und mit dem Append haben um da etwas genaueres zu sagen zu können. Kannst es ja per PM schicken.
Ich werd dann hier eine allgemeine Info darüber posten und Dir die spezielle Änderung.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
15.03.2007  
 



@Michael
Danke für Dein Interesse - habe mir einen Code von Andreas Hötker runtergeladen
KompilierenMarkierenSeparieren
Def @GetCurrentThreadId(0) !KERNEL32,GetCurrentThreadId
DEF @GetDlgCtrlID(1) !USER32,GetDlgCtrlID
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM
Def @SetTimer(4) !USER32,SetTimer
Def @KillTimer(2) !USER32,KillTimer
Declare Timer_WIN&,Text$[3],Button&,Zähler%,TIMER_ID&,PRO_ID&,TH_ID&
Windowstyle 31+512
Windowtitle Selbständig laufende Programmschleife
Window 0,0-640,440
Usermessages $10
LET TIMER_WIN&=@Control(Static,TIMER_WIN,$8000000,0,0,0,0,%Desktop,9998,%HINSTANCE,$4)
Let Button&=@createbutton(%HWND,,20,100,300,30)
LET TEXT$[0]=Hier klicken...
LET TEXT$[1]=...für die...
LET TEXT$[2]=...Messagebox!
LET TIMER_ID&=@SetTimer(TIMER_WIN&,9999,1500,@ProcAddr(TimerProc,4))

While %UMESSAGE<>$10

    Waitinput
    Locate 0,0
    Print @GetCurrentThreadId(),TH_ID&

    IF @ButtonClicked(Button&)

        @messagebox(Der Text auf dem Button ändert sich weiterhin!,Ein Wunder...?,64)

    endif

wend

@KiLLTIMER(TIMER_WIN&,9999)
end

Proc TimerProc

    Parameters ahhwnd&,ahuMsg&,ahidEvent&,ahdwTime&
    Settext Button&,Text$[Zähler%]
    INC Zähler%
    Case Zähler%=4 : LET Zähler%=0
    LET TH_ID&=@GetCurrentThreadId()

Endproc


...und damit klappt die Sache
 
15.03.2007  
 




...und damit klappt die Sache


Bitte insgesammt vorsichtig sein mit solchen Callbacks. Wird vom Profanprogramm ein Fenster erzeugt während ein Callback lauft, gibt es mit Profan ein heilloses Durcheinander - und das aber (leider) auch nicht immer...
 
15.03.2007  
 



@Hallo Andreas
Danke für die Warnung, aber Dein Code funktioniert bestens. Nur ein seltsames Verhalten hab ich bemerkt: Da ich das Hauptfenster mit SHOWMIN in die Statuszeile verbanne und dann mit Strg+C betonten Text zum Fenster schicke, benimmt sich die Sache so: Klick ich auf den programmierten Button zum Minimieren ist alles OK - Klick ich auf den Unterstrich im Systemmenu oben rechts, werden schon vorhandene Texte in meiner Datei gelöscht ! Da komme ich aber auch noch hinter. Im Moment habe ich WindowsStyle 22 und da geht das Minimieren über Systemmenu nicht.
 
15.03.2007  
 



Wo Du Procaddr auch anwendest - es wird crashen wenn die aufrufende Api nicht solange wartet bis sie die Proc hinter Procaddr nicht mehr benötigt.

Ich kann somit nur von der Settimer-Api mit Procaddr-Angabe abraten bis Roland das gefixt hat.
 
15.03.2007  
 




Michael
Wodrich
und was hat das mit Append zu tun?
 
Programmieren, das spannendste Detektivspiel der Welt.
16.03.2007  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.079 Betrachtungen

Unbenanntvor 0 min.
Sven Bader07.03.2021
Peter Max Müller19.10.2017
Ernst22.04.2016
Hans Hermann22.03.2011

Themeninformationen



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