KHR, 19.03.2008 23:03: Hallo Miteinander
.
habs ne ganze Weile probiert, aber nicht hat funktioniert
Wer kann mir nen Tipp geben wie ich eine Tastenkombi in Profed einbaue, mit der ich die gesamte Zeile lösche in der sich der Cursor befindet?
Oder ist das etwa schon eingebaut und ich bin zu doof es zu finden?
Das Zeilen-duplizieren ( CTRL-D) benutze ich gern, aber den Hinweis dazu hab ich im Handbuch nicht gefunden
.
David Strutz, 19.03.2008 23:28: Schau bei den Hotkeys und definiere STRG+D
KHR, 22.03.2008 12:05: Hallo miteinander,
.
meine Kenntnisse über Profan speziell und Programmierung allgemein reichen leider doch nicht aus, um zu einer Lösung zu kommen.
Mittlerweile hab ich gesehen, dass in der Scintilla.dll die Funktion linedelete enthalten ist. Also bin ich frisch an Werk gegangen und hab versucht, das einzubauen.
Als Taste hab ich mir STRG-K ausgesucht, weil die mir noch frei erschien.
Dann hab ich folgende Änderungenim Quellcode vorgenommen:
XProfEd-11c.prf hab ich folgendes eingefügt:
AppendMenu 317, "Zeile Löschen \tStrg+K"
und
elseif @menuitem(317)
Edit#[AktTab%].Linedelete()
.
in der Datei: XPrfEditClass.prf hab ich folgendes geändert
(letzte Zeile angefügt)
$H XPrfEdit.ph
Class XSciProf = -dll&,\
-Id&, \
-SciMessage&, \
-SciLoadText&, \
+Handle&, \
+Exit@, \
+XSciProf@, \
+SetColors@, \
+SetFont@, \
+SetTab@, \
+Destroy@, \
+Show@, \
+Hide@, \
+Enable@, \
+Disable@, \
+SciMessage@, \
+Load@, \
+Save@, \
+SetSavePoint@, \
+getLineCount@, \
+gotoLine@, \
+getFirstSelLine@, \
+getLastSelLine@, \
+getLine@, \
+getLine$@, \
+getColumn@, \
+ClearAll@, \
+Cut@, \
+Copy@, \
+Paste@, \
+Clear@, \
+CanPaste@, \
+Undo@, \
+CanUndo@, \
+Redo@, \
+CanRedo@, \
+Changed@, \
+SelectAll@, \
+Search@, \
+SearchNext@, \
+Replace@, \
+GetWord@, \
+SetReadOnly@, \
+SetWrapMode@, \
+SetLineNumbers@ \
+Linedelete@
und auch diesen Code noch eingefügt
Proc XSciProf.Linedelete
Return .SciMessage(~SCI_LINEDELETE, .SciMessage(~SCI_GETCURRENTPOS, 0, 0)
EndProc
Wenn ich dann kompilieren will erhalte ich folgende Fehlermeldung:
Methode fehlt: XSCIPROF.SETLINENUMBERS@ +LINEDELETE
Zeile 48 in XPrfEditClass.prf:
Class XSciProf = -dll&,-Id&, -SciMessage&, -SciLoadText&, +Handle&, +Exit@, +XSciProf@, +SetColors@, +SetFont@, +SetTab@, +Destroy@,
+Show@, +Hide@, +Enable@, +Disable@, +SciMessage@, +Load@, +Save@, +SetSavePoint@, +getLineCount@, +gotoLine@,
+getFirstSelLine@, +getLastSelLine@, +getLine@, +getLine$@, +getColumn@, +ClearAll@, +Cut@, +Copy@, +Paste@, +Clear@, +CanPaste@,
+Undo@, +CanUndo@, +Redo@, +CanRedo@, +Changed@, +SelectAll@, +Search@, +SearchNext@, +Replace@, +GetWord@,
+SetReadOnly@, +SetWrapMode@, +SetLineNumbers@ +Linedelete@
Bedeuten könnte das:
1) ich bin zu doof um alleine weiterzumachen
2) ne Kleinigkeit vergessen
3) die funktion wurde aus der DLL gestrippt
4) es geht einfach so nicht, weil der Ansatz falsch ist.
Bitte helft einem Unwissenden weiter
Frank Abbing, 22.03.2008 12:48: Zu Scintilla kann ich dir nichts sagen. Kenne mich damit nicht aus..
Wenn die Dll dir aber keine Möglichkeit bietet, kannst du immer noch manuell eine Zeile löschen via diverser EM_Messages. Also nicht verzagen. Aber warscheinlich hilft dir noch jemand dabei die Dll richtig anzusprechen.
RGH, 22.03.2008 14:27: Hallo,
Du hast in der Definition der Klasse das Komma hinter SetLineNumbers@ vergessen. Die einzelnen Methoden der Klasse werden durch Kommas getrennt!
Gruss
Roland
KHR, 22.03.2008 15:58: Hallo Roland,
.
danke, das wars. Jetzt gehts.
Hatte zwar noch das addhotkey vergessen, aber nachden es über das Menue ging, war der Fehler leicht zu finden.
Wie das mit einem erfüllten Wunsch so ist, er weckt gleich drei neue.
die wären:
1) Alingn Line - Aktuelle Zeile auf die Startposition der Zeile darüber angleichen (ich mag halt schön formatierte Quellcodes)
2) Tastaturmakro Aufzeichen und abspielen ( ich bin halt manchmal faul)
3) Suchen-Filter - es werden nur Zeilen agezeigt, die den Suchbegriff enthalten.
Ok , Ok das wird sicher nicht einfach. Mal sehen wie weit ich komme - , aber anfangen und blöde Fragen stellen kann ich ja.
.
Dies ist die Offlinevariante vom Thread [Wie Tastankombi für Zeile-löschen in xprofed].
©2006 XProfan.Com