MoreEdit
- Programie
- Beiträge: 1280
- Registriert: 06.08.2005 22:56
- Computerausstattung: https://www.sysprofile.de/id160800
- Wohnort: Gernsbach
- Kontaktdaten:
DANKE!!!Alves hat geschrieben:Ich habs runtergeladen udn hab die exe nocht. Soll ic hsie auf meinen Webspace mal alden ,damit du sie ziehen kannst?
Edith: Habs jetzt mal hochgeladen: http://kotn.ko.ohost.de/moreedit.exe
Wenn ich die Exe hab könnte ich das Programm nochmal neu schreiben (Will halt das gleiche nochmal machen. Nur halt noch erweiterter

Ich hoffe, dass ich das Programm bis in etwa 2 Wochen soweit wie die Exe hab und etwa 1 Woche später wird´s Mehrsprachig!!!
- Programie
- Beiträge: 1280
- Registriert: 06.08.2005 22:56
- Computerausstattung: https://www.sysprofile.de/id160800
- Wohnort: Gernsbach
- Kontaktdaten:
So. Ich hab MoreEdit mal mit ein paar neuen Funktionen neu geschrieben.
Ich hab jetzt noch 5 Probleme:
1. Wie kann ich den markierten Text in die Zwischenablage kopieren?
2. Wie kann ich den Text aus der Zwischenablage an der aktuellen Cursorposition im Editor einfügen?
3. Wie kann ich den ganzen Textinhalt im Editor markieren?
4. Wie kann ich die aktuelle Cursorposition (Spalte und Zeile) im Editor rausfinden?
5. Wie kann ich den Text vom Editor mit WinAPI ausdrucken (Ohne ist es mir zu kompliziert)?
Ich hab jetzt noch 5 Probleme:
1. Wie kann ich den markierten Text in die Zwischenablage kopieren?
2. Wie kann ich den Text aus der Zwischenablage an der aktuellen Cursorposition im Editor einfügen?
3. Wie kann ich den ganzen Textinhalt im Editor markieren?
4. Wie kann ich die aktuelle Cursorposition (Spalte und Zeile) im Editor rausfinden?
5. Wie kann ich den Text vom Editor mit WinAPI ausdrucken (Ohne ist es mir zu kompliziert)?
- Thorsten1867
- Beiträge: 1360
- Registriert: 04.02.2005 15:40
- Computerausstattung: [Windows 10 x64] [PB V5.7x]
- Wohnort: Kaufbeuren
- Kontaktdaten:
1.Programie hat geschrieben:So. Ich hab MoreEdit mal mit ein paar neuen Funktionen neu geschrieben.
Ich hab jetzt noch 5 Probleme:
1. Wie kann ich den markierten Text in die Zwischenablage kopieren?
2. Wie kann ich den Text aus der Zwischenablage an der aktuellen Cursorposition im Editor einfügen?
3. Wie kann ich den ganzen Textinhalt im Editor markieren?
4. Wie kann ich die aktuelle Cursorposition (Spalte und Zeile) im Editor rausfinden?
5. Wie kann ich den Text vom Editor mit WinAPI ausdrucken (Ohne ist es mir zu kompliziert)?
Code: Alles auswählen
Procedure.l Editor_GetSelLength(GID)
sel.CHARRANGE
SendMessage_(GadgetID(GID),$0434,0, @sel)
ProcedureReturn sel\cpMax - sel\cpMin
EndProcedure
Procedure.s Editor_GetSelText(GID)
text$ = Space(Editor_GetSelLength(GID) + 1)
SendMessage_(GadgetID(GID), $043E, 0,@text$)
ProcedureReturn text$
EndProcedure
SetClipboardText(Editor_GetSelText(GID))
Code: Alles auswählen
SendMessage_(GadgetID(editor),#EM_REPLACESEL,0,Text$)
@Programie
>1. Wie kann ich den markierten Text in die Zwischenablage kopieren?
>2. Wie kann ich den Text aus der Zwischenablage an der aktuellen >Cursorposition im Editor einfügen?
>3. Wie kann ich den ganzen Textinhalt im Editor markieren?
>4. Wie kann ich die aktuelle Cursorposition (Spalte und Zeile) im Editor >rausfinden?
Für Zeichen:
Für Zeile:
>5. Wie kann ich den Text vom Editor mit WinAPI ausdrucken (Ohne ist >es mir zu kompliziert)?
Kein Plan
>1. Wie kann ich den markierten Text in die Zwischenablage kopieren?
Code: Alles auswählen
Define.CHARRANGE sel
SendMessage_(GadgetID(1),#EM_EXGETSEL,0,sel)
Code: Alles auswählen
SetClipboardText(???)
SendMessage_(GadgetID(1), #WM_PASTE, 0, 0)
Code: Alles auswählen
SendMessage_(GadgetID(1),#EM_SETSEL,0,-1)
Für Zeichen:
Code: Alles auswählen
Str(Len(GetGadgetText(1)))
Code: Alles auswählen
SendMessage_(GadgetID(1), #EM_EXGETSEL, 1, range.charrange)
CurrentLineIndex = SendMessage_(GadgetID(1), #EM_EXLINEFROMCHAR, 0, range\cpMin)
y = CurrentLineIndex + 1
CurrentLineStartIndex = SendMessage_(GadgetID(1), #EM_LINEINDEX, CurrentLineIndex, 0)
x = range\cpMax - CurrentLineStartIndex + 1
Str(x)
Kein Plan
- Programie
- Beiträge: 1280
- Registriert: 06.08.2005 22:56
- Computerausstattung: https://www.sysprofile.de/id160800
- Wohnort: Gernsbach
- Kontaktdaten:
4. @RSBasic: Man bekommt doch eigentlich nur eine Zahl als String zurück, die nichts mit der aktuellen Position zu tun hat, sondern nur die Anzahl der Zeichen im Gadget beinhaltet, oder?
Einfach mal ausprobieren:
In Line müsste dann die Zeile (Erste Zeile = 0) stehen...
Für die Position des Zeichens in der Zeile könnte folgendes klappen:

Einfach mal ausprobieren:
Code: Alles auswählen
SendMessage(GadgetID(#Editor),#EM_EXGETSEL,0,@char.CHARRANGE)
Line=SendMessage(GadgetID(#Editor),#EM_EXLINEFROMCHAR,0,char\cpMin)
Für die Position des Zeichens in der Zeile könnte folgendes klappen:
Code: Alles auswählen
StartChar=SendMessage(GadgetID(#Editor),#EM_LINEINDEX,-1,0) ;Erster Buchstabe der Zeile
PosInLine=char\cpMin-StartChar
- Programie
- Beiträge: 1280
- Registriert: 06.08.2005 22:56
- Computerausstattung: https://www.sysprofile.de/id160800
- Wohnort: Gernsbach
- Kontaktdaten:
@Marvin
Die 2 Codes funktionieren! Danke!
@All
Hab einen Code gefunden, mit dem man den Text ausdrucken kann (Aus dem CodeArchiv). Hab ihn so geändert, dass man eine Textdatei statt einem Gadget angeben kann, aber jetzt geht er nicht mehr.
Hier der Code:
Die 2 Codes funktionieren! Danke!

@All
Hab einen Code gefunden, mit dem man den Text ausdrucken kann (Aus dem CodeArchiv). Hab ihn so geändert, dass man eine Textdatei statt einem Gadget angeben kann, aber jetzt geht er nicht mehr.
Hier der Code:
Code: Alles auswählen
Structure DInfo1
cbSize.l
dwtype.l
lpszDocname.l
lpszOutput.l
lpszDataType.l
EndStructure
Procedure PrintTextFile(FileName$,JobName$,Font,FrontColor,BackColor)
Window=OpenWindow(#PB_Any,#False,#False,#False,#False,JobName$,#PB_Window_Invisible)
If IsWindow(Window)
If CreateGadgetList(WindowID(Window))
Editor=EditorGadget(#PB_Any,#False,#False,#False,#False,#PB_Editor_ReadOnly)
EndIf
EndIf
If IsGadget(Editor)
If IsFont(Font)
SetGadgetFont(Editor,FontID(Font))
EndIf
SetGadgetColor(Editor,#PB_Gadget_FrontColor,FrontColor)
SetGadgetColor(Editor,#PB_Gadget_BackColor,BackColor)
File=ReadFile(#PB_Any,FileName$)
If IsFile(File)
Repeat
AddGadgetItem(Editor,#PB_Any,ReadString(File,#PB_Ascii))
Until Eof(File)
CloseFile(File)
EndIf
DC=PrintRequester()
cRect.RECT
FormatRange.FORMATRANGE
Docinfo.DInfo1
DocInfo\cbSize=SizeOf(DInfo1)
DocInfo\dwType=#False
DocInfo\lpszDocName=@JobName$
DocInfo\lpszOutput=#False
DocInfo\lpszDataType=#False
StartDoc_(DC,Docinfo)
MaxLen=Len(GetGadgetText(Editor))-SendMessage_(GadgetID(Editor),#EM_GETLINECOUNT,#False,#False)
OldMapMode=GetMapMode_(DC)
SetMapMode_(DC,#MM_TWIPS)
OffsetX=GetDeviceCaps_(DC,#PHYSICALOFFSETX)
OffsetY=-GetDeviceCaps_(DC,#PHYSICALOFFSETY)
HorzRes=GetDeviceCaps_(DC,#HORZRES)
VertRes=-GetDeviceCaps_(DC,#VERTRES)
SetRect_(cRect,OffsetX,OffsetY,HorzRes,VertRes)
DPtoLP_(DC,cRect,2)
SetMapMode_(DC,OldMapMode)
FormatRange\hdc=DC
FormatRange\hdcTarget=DC
FormatRange\rc\left=cRect\left
FormatRange\rc\top=cRect\top
FormatRange\rc\right=cRect\right
FormatRange\rc\bottom=cRect\bottom
FormatRange\rcPage\left=cRect\left
FormatRange\rcPage\top=cRect\top
FormatRange\rcPage\right=cRect\right
FormatRange\rcPage\bottom=cRect\bottom
Repeat
StartPage_(DC)
FormatRange\chrg\cpMax=#PB_Any
LastChar=SendMessage_(GadgetID(Editor),#EM_FORMATRANGE,#True,@FormatRange)
FormatRange\chrg\cpMin=LastChar
SendMessage_(GadgetID(Editor),#EM_DISPLAYBAND,#False,cRect)
EndPage_(DC)
Page+1
Until LastChar>=MaxLen Or LastChar=#PB_Any
EndDoc_(DC)
SendMessage_(GadgetID(Editor),#EM_FORMATRANGE,#False,#False)
EndIf
ProcedureReturn Page
EndProcedure
- Programie
- Beiträge: 1280
- Registriert: 06.08.2005 22:56
- Computerausstattung: https://www.sysprofile.de/id160800
- Wohnort: Gernsbach
- Kontaktdaten:
Hab die neue Version (1.1) hochgeladen.
Es fehlen nur noch ein paar Funktionen und die Hilfedateien.
Die Netzwerkfunktion funktioniert auch noch nicht richtig.
Wer Bugs findet: Hier ist der richtige Ort!
Download
Quellcode kommt auch demnächst!
Es fehlen nur noch ein paar Funktionen und die Hilfedateien.
Die Netzwerkfunktion funktioniert auch noch nicht richtig.
Wer Bugs findet: Hier ist der richtige Ort!
Download
Quellcode kommt auch demnächst!
Zuletzt geändert von Programie am 23.09.2008 19:36, insgesamt 2-mal geändert.