

limelect
Members-
Content Count
884 -
Joined
-
Last visited
-
Days Won
1
Everything posted by limelect
-
I am trying to understand my problem with reverse HEBREW TEXT. I have 3 rich edit components and a memo for testing. RichEdit1, jvRichEdit, and AdvRichEditor jvRichEdit and AdvRichEditor reverse my string(my Hebrew name) The source is a Richedit file. procedure TForm1.BitBtn2Click(Sender: TObject); var s: TStringList; begin s := TStringList.Create; OpenDialog1.Filter := 'RTF files (*.rtf)|*.rtf|Any files (*.*)|*.*'; if OpenDialog1.Execute then begin AdvRichEditor1.Clear; RichEdit1.Clear; jvRichEdit1.Clear; RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); jvRichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); s.LoadFromFile(OpenDialog1.FileName); Memo1.Clear; memo1.Text := RtfToText(s.Text, true); <<<< procedure from the Internet AdvRichEditor1.InsertText(0, memo1.Text); <<<<< Inserting memo text to ADVrich is OK AdvRichEditor1.Repaint; AdvRichEditorRTFIO1.Load(OpenDialog1.FileName); <<<<< reverse Hebrew string s.Free; end; end; My main rich is AdvRichEditor. P.S My final file contains pictures too Unless I have to go into the sources any solution? Untitled_1.bmp
-
@dwrbudr This is the demo of TRichView with mixed Hebrew and English but the PDF is PDF24 But as I wanted the PDF to be built within I used AdvRichEditor maybe I will consider it too P.S. I suspect one can take PDF basic of AdvRichEditor and use it for TRichView
-
@peterbelow I had to fix the same problem for PDF ALSO ONLY FOR HEBREW The only problem on the same line ONLY the same language function TAdvPDFGraphicsLibOutputWriter.ConvertStringToHex(AValue: UnicodeString): String; var I: integer; v: Integer; idx: integer; begin Result := ''; {$IFDEF DELPHI_LLVM} for I := 0 to Length(AValue) - 1 do {$ENDIF} {$IFNDEF DELPHI_LLVM} for I := 1 to Length(AValue) do {$ENDIF} begin v := Ord(AValue); if (v >= 32) then begin if not FontCharArrayContainsValue(v) then FontCharArrayAddValue(v); idx := FontCharArray.IndexOf(v); if idx > -1 then //shlomo Result := Result + AddHex4(FontCharWidths[idx].g);<< original Result := AddHex4(FontCharWidths[idx].g)+Result ;change for Hebrew end; end; end;
-
@peterbelow I hope I fixed it on this procedure TRTFEngine.AddInternal(S: String; KWCode: Integer); for i := 1 to length(S) do begin ch := CharInStr(S,i); {$IFNDEF LCLLIB} if ord(ch) > 127 then {$ENDIF} {$IFDEF LCLLIB} if ch > #127 then {$ENDIF} //shlomo enc := enc + '\u' + IntToStr(ord(ch))+ 'G' <<<<< the original enc := '\u' + IntToStr(ord(ch))+ 'G'+enc <<< I changed the order else enc := enc + ch; end; But this is good ONLY for HEBREW obviously other languages are different problems. The saving was the problem
-
@PeterBelow I am deep in understanding the reverse of text in TAdvRichEditorBase.GetContentAsRTF(UseSelection: boolean): string; P.s the text comes OK to this point
-
Ok some research this is rtf string {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil Segoe UI;}}{\colortbl \red0\green0\blue0;}\viewkind4\uc1\f0\cf0\f0\fs20 \u1513G\u1500G\u1502G\u1492G\par abcd\par} On the screen my name is OK but in the rtf saving is backward Underneath there is abcd 2 lines of text 1513 is my first Unicode letter of my name. On the screen, it is the fourth charter What is going on? and finally, if I write English Hebrew English text it still revers the Hebrew {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil Segoe UI;}}{\colortbl \red0\green0\blue0;}\viewkind4\uc1\f0\cf0\f0\fs20 abcd \u1513G\u1500G\u1502G\u1492G cdef\par}
-
Let's stay on 2 components. RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); <<<<< Hebrew Text OK jvRichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); <<<< Hebrew text reverse Any Idea?
-
@PeterBelowd10.2.3 on AdvRichEditor1 which I am using there is NO BidiMode Bidi Mode on jvRichEdit does not help it only moves to the right but not revers
-
I own Delphi 10.2.3 with a license why I do not have FireDAC.Phys.MSSQL and more.? All I have is in the picture Is it only in enterprise Not in professional?
-
What about the detection of a process Not enough information on his need
-
@Anders Melander what he needs is not a progress This is what he needs
-
I do not know of a component to do that, If a program is still running that means what? showing? calculating? finished closed?
-
@Uwe Raabe the above is what he needs no numbers. There are times when you do not know your process's time(size), so there are times like the above. it is active until you stop it. This program of mine does exactly his needs. turn until you stop https://limelect.com/downloads/youtube_downloader_shell/ or https://limelect.com/downloads/kml-reader/
-
TAdvCircularProgress does it . It turns until you stop it. There are quite a few like it that work until you stop them.
-
No https://github.com/Andry-Smirnov/RXLib-Delphi https://blogs.embarcadero.com/rxlib-and-tokyo-compatibility/ Google RXlib Delphi It is All over and I am still using it on D10.2.3 using unrxlib_275_u_1_0_18 Unofficial version Rx library for Delphi 2005/2006/2007/2009/2010/XE/XE2/XE3/XE4/XE5/XE6/XE7/XE8/Seattle/Berlin
-
RX hase a component just for that FORMSTORAG
-
Maybe it might help jimmckeeth DelphiARDrone-master https://github.com/jimmckeeth/DelphiARDrone
-
@Kryvich OK yours work too Within this zip, you have both versions with (* Pick your choice As I was the tester we got to the answer GREAT MemoScrol (2).zip
- 39 replies
-
- delphi xe7
- synchronize
-
(and 2 more)
Tagged with:
-
For the benefit of everybody MemoScrol.zip
- 39 replies
-
- delphi xe7
- synchronize
-
(and 2 more)
Tagged with:
-
@Uwe Raabe Great all work we can give that as the answer @Kryvich did not try yours I wonder what will happen if the text is uneven It works with very interesting behavior Just multiply the text on one of the memos. Great
- 39 replies
-
- delphi xe7
- synchronize
-
(and 2 more)
Tagged with:
-
@Uwe Raabe I know the problem but could not find a solution On the horizontal arrow, you need to move in SyncLink by character I tried MyChar := Perform(EM_POSFROMCHAR, 0, 0); LinkChar:= LinkedMemo.Perform(EM_POSFROMCHAR, 0, 0); if LinkChar<>MyChar then LinkedMemo.Perform(EM_SCROLLCARET, 0, ?); but the char position is not correct one has to find the char position from the line? Any idea? Furthermore if one scrolls by char he does not scroll by line P.S. I computerize large companies but this little piece of software helps stay in shape of mind.
- 39 replies
-
- delphi xe7
- synchronize
-
(and 2 more)
Tagged with:
-
I have this project mite help you catch the outside mouse hop it help MyWindowsInspector.zip
-
will this help? function MouseHook (Code: integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; var ClientPt : TPoint; begin {------------------------} { Handle Mouse Movements } {------------------------} if (GlobData <> nil) and (Code = HC_ACTION) and ((wParam = WM_MOUSEMOVE) or (wParam = WM_NCMOUSEMOVE)) then begin with PMouseHookStruct(lParam)^ do begin {-----------------------------} { Send the screen coordinates } {-----------------------------} PostMessage(GlobData^.ActiveHandle, WM_APP+2, Pt.X, Pt.Y); {-----------------------------} { Send the window coordinates } {-----------------------------} ClientPt := Pt; ScreenToClient(hwnd, ClientPt); PostMessage(GlobData^.ActiveHandle, WM_APP+3, ClientPt.X, ClientPt.Y); end; end; {-----------------------------------------------} { Call the next hook in the chain } {-----------------------------------------------} Result := CallNextHookEx(0, Code, wParam, lParam); end; function InstallMouseHook (Wnd: HWND): Boolean; stdcall; begin Result := False; if (GlobData = nil) then Exit; if (GlobData^.THook = 0) then begin GlobData^.THook := SetWindowsHookEx(WH_MOUSE, @MouseHook, HInstance, 0); if GlobData^.THook = 0 then Exit; end; GlobData^.ActiveHandle := Wnd; Result := True; end; function UninstallMouseHook: Boolean; stdcall; begin Result := True; if (GlobData = nil) then Exit; if (GlobData^.THook <> 0) then begin if not UnhookWindowsHookEx(GlobData^.THook) then Exit; GlobData^.THook = 0; end; GlobData^.ActiveHandle := 0; Result := True; end;
-
I found that horizontal or vertical scroll triggers differently from the little arrows !!!!
- 39 replies
-
- delphi xe7
- synchronize
-
(and 2 more)
Tagged with:
-
@Uwe Raabe I took your last basics and left only the old SyncLink (see zip) and all work including mouse scroll P.S I tested your SyncLink and it messed the mouse BUT I FOUND THAT The little arrows on the horizontal scroll do not work They trigger SyncLink Everything else works like a charm and that is on Windows 7!!! MemoScrol.zip
- 39 replies
-
- delphi xe7
- synchronize
-
(and 2 more)
Tagged with: