Deutsch
XProfEd - Opensource IDE

Allgemeine Editor Klassenfrage.

 
- Seite 1 -



GDL
@ Hallo Roland,

Ich habe mir mit Hilfe deiner Klasse einen Einfachsteditor für mein Atmelprogramm gezimmert.
Es klappt auch alles wunderbar, bis auf Eines:Ich möchte immer den aktuelle Zeileninhalt in zeile$ haben.

Ich nehme mal an, dass das mit dem Teil zu tun hat.
KompilierenMarkierenSeparieren
Proc XSciProf.GetLine

    Return Int(.SciMessage(~SCI_LINEFROMPOSITION, .SciMessage(~SCI_GETCURRENTPOS, 0, 0), 0) + 1)

EndProc

Proc XSciProf.GetLine$

    Parameters Nr%, Z$
    Declare Len%, Zeile#
    Dim Zeile#,32767
    Len% = .SciMessage(~SCI_GETLINE, Nr%, Zeile#)
    Z$ = Translate$(Char$(Zeile#,0,Len%-1),	,Space$(XSciProf.Tab%))
    Dispose Zeile#
    Return Z$

EndProc


Die aktuelle Zeilennummer geht einwandfrei, aber dann blicke ich nimmer durch.
Du deklar. erst zeile#
du dimensionierst anschliessend zeile#
liest aber nichts ein in zeile#
arbeitest dann aber mit zeile# weiter.

Danke für deine Hilfe

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
21.10.2007  
 



 
- Seite 2 -



GDL
geht als Einzelbefehl nicht und in Kombination mit setfocus auch nicht.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.10.2007  
 




GDL

KompilierenMarkierenSeparieren
setfocus(editor_&)
~InvalidateRect(%hwnd, 0, 0)
~UpdateWindow(%hwnd)
setfocus(editor_&)

geht auch net
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.10.2007  
 




Jörg
Sellmeyer
Was heißt Einzelbefehl? Das ist eine Funktion - mit SetActiveWindow(hdl&) setzt Du ein Control aktiv.
Ich habe mit Rolands Code nochmal getestet. Dort funktioniert SetFocus. Du mußt also einen Fehler irgendwo eingebaut haben.
Hast Du die Ergänzug zu meinem vorigen Beitrag gelesen?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.10.2007  
 




GDL
mom hat sich alles überschnitten in den Postings.

melde mich wieder.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.10.2007  
 




GDL
Habe keine Klasse, sondern nur 1 Fenster.

Betrifft menuitem, und clicked

dies geht
, wenn vorher mit getfocus ein anderes Control aufgerufen wurde
KompilierenMarkierenSeparieren
elseif getfocus(mak&)					Makros auswählen

grau
SKCtrl_SetColor(mak&,2,RGB(224,0,202))
setfocus(editor_&)
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.10.2007  
 




Jörg
Sellmeyer
Ich glaube, wir reden aneinander vorbei. Am Besten Du postest mal ein lauffähiges Beispiel, an dem man das nachvollziehen kann. Wie gesagt: Im XProfEd funktioniert es.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.10.2007  
 




GDL
jo, geht aber erst im Laufe der Nacht.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.10.2007  
 




Jörg
Sellmeyer
Alles klar, ich bin eh ne nachteule
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.10.2007  
 




GDL
Nun geht durch Zufall alles, wenn ich vor waitinput nen setfocus(edit&) einsetze.
KompilierenMarkierenSeparieren
Das es nun geht ist bestimmt nen Doppelfehler, der sich dann aufhebt.Wichtig iss, dass mein Zusammengesuche ausm Xprofed überhaupt geht.
Bin immer noch am Suchen warum das waitinput durchbrochen wird.Wird das in der XProfed Klasse schon festgelegt?

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.10.2007  
 




GDL
Habe noch weiter rumprobiert.

setfocus(edit&) oder setfocus(editor_&) kann nach waitinput ,in den einzelnen Abfragen,so oft stehen wie es mag, es geht nicht.Steht es aber vor waitinput geht alles.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.10.2007  
 




GDL
@ Jörg,

habe mal alles soweit zusammengefasst,soweit ich bis jetzt bin.Die Exe ist lauffähig.Alle code liegen bei.Im Ordner 01test laufen lassen.

Servus
Georg

578 kB
Hochgeladen:24.10.2007
Ladeanzahl100
Herunterladen
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.10.2007  
 




Jörg
Sellmeyer
GDL
Habe noch weiter rumprobiert.

setfocus(edit&) oder setfocus(editor_&) kann nach waitinput ,in den einzelnen Abfragen,so oft stehen wie es mag, es geht nicht.Steht es aber vor waitinput geht alles.

Servus
Georg


Du hättest es gar nicht nach einzelnen Abfragen setzen müssen, sondern nach der If-Struktur in der Hauptschleife.
KompilierenMarkierenSeparieren
While 1

    WaitInput

    If 1

        ...

    ElseIf 2

        ...

    ElseIf ...

        ...

    EndIf

    SetFocus(Editor&)

Wend


Ist aber letzendlich egal.
Ich würde nur die Variable editor_& nicht global definieren, sondern innerhalb der Prozedur. Dann müssen zwar alle weiteren, Prozeduren, die das Control beeinflussen noch in der ersten Zeile ein Parameters editor_&,...,... haben, aber Du hast dann die Prozeduren schön gekapselt und kannst bei Bedarf weitere Editcontrols in Deinem Programm erzeugen.
Deine Includedatei wird einfach flexibler.
Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.10.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

14.611 Betrachtungen

Unbenanntvor 0 min.
Sven Bader14.03.2023
Ernst22.04.2016
Magda31.08.2014
GDL11.05.2014
Mehr...

Themeninformationen

Dieses Thema hat 4 Teilnehmer:

GDL (21x)
Jörg Sellmeyer (7x)
iF (2x)
RGH (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