Jump to content

KodeZwerg

Members
  • Content Count

    290
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by KodeZwerg

  1. KodeZwerg

    Application.MessageBox in multiples monitors

    to full customize positioning you could use MessageDlgPos() or ShowMessagePos() methods aswell.
  2. KodeZwerg

    Determining why Delphi App Hangs

    Do not try update ProgressBar position for every single entry, let it update in steps. ProcessMessages is really a bad Idea!
  3. KodeZwerg

    Delphi 10.4 Portable

    Install to Vm, take Vm file wherever you want = portable enough?
  4. KodeZwerg

    Min & Max

    Without unit math use a custom one and you are not annoyed anymore 🙂 function myMin(const ValueA, ValueB: Integer): Integer; begin if (ValueA <= ValueB) then Result := ValueA else Result := ValueB; end; function myMax(const ValueA, ValueB: Integer): Integer; begin if (ValueA >= ValueB) then Result := ValueA else Result := ValueB; end;
  5. Hello Winapi lovers, I would like to have all notify icons (system tray?) in a seperate window. (everthing between taskbar entries and time display) Is that possible at all? Reason: I would run that program to have a OnTop window open that does not close on its own and inform me what icons are avail (usb device, network symbol, programms with their bubble[number], and such....) By default I do minimize TaskBar and having such would make my workflow alot easier! For now I even dont have a starting point. Searching Msdn did not result me any positive clue. I would also accept any pre-made application that do such to not reinvent wheels. Thank you for reading!
  6. no no no, stay, do not feel attacked by my bad spelling or misunderstood phrases. if i did said something that makes you sad i do apology! you ARE helpful! i just was not searching for any copy programs or codes to copy.
  7. Thank you @emailx45 BTW, name should be SlowCopy from that japanese Version. I never saw a slower Copy mechanism in my entire life. (more slower can just ReadByte, WriteByte, VerifyByte in a loop, hmm maybe thats how it works lol) I Did not tested your linked versions, maybe there is one that deserves that title, but nevertheless, here we deal with Notify Icons^^
  8. You got mail 🙂
  9. @limelect On that page you are refering to I do not find any kind of source code at all. Can you share your copy of source please? Thank you!
  10. KodeZwerg

    Transparent form on the server

    No code, no help. Easy as.
  11. Not faster, just tested. https://github.com/frones/ACBr/blob/master/Fontes/Terceiros/FastStringReplace/StrUtilsEx.pas Included as: uses StrUtilsEx; ... function StringReplaceExAll(const aStr: string; const aOldPatterns, aNewPatterns: array of string): string; var i: Integer; begin Result := aStr; for i := Low(aOldPatterns) to High(aOldPatterns) do Result := FastStringReplace(Result, aOldPatterns[i], aNewPatterns[i], [rfReplaceAll]); end; procedure RunTestCases(const aTestCases: TTestCases); var i: Integer; s, s7, s3, sSB, sEx: string; begin for i := Low(aTestCases) to High(aTestCases) do begin s := StringReplaceAll(aTestCases[i].Str, aTestCases[i].OldPatterns, aTestCases[i].NewPatterns); s7 := ReplaceMultiStrings7(aTestCases[i].Str, aTestCases[i].OldPatterns, aTestCases[i].NewPatterns); s3 := MultiStrReplace3(aTestCases[i].Str, aTestCases[i].OldPatterns, aTestCases[i].NewPatterns); sSB := MultiStringReplaceSB(aTestCases[i].Str, aTestCases[i].OldPatterns, aTestCases[i].NewPatterns); sEx := StringReplaceExAll(aTestCases[i].Str, aTestCases[i].OldPatterns, aTestCases[i].NewPatterns); if (s <> s7) then raise Exception.Create('Not equal results: ' + sLineBreak + s + sLineBreak + s7); if (s <> s3) or (s <> sSB) then raise Exception.Create('Not equal results: ' + sLineBreak + s + sLineBreak + s3 + sLineBreak + sSB ); if (s <> sEx) then raise Exception.Create('Not equal results: ' + sLineBreak + s + sLineBreak + sEx); end; end; procedure DoTheTiming(const aCaption, aStr: string; const aOldPatterns, aNewPatterns: array of string); var vSW:TStopWatch; i: integer; str: string; begin Writeln(aCaption); // Standard StringReplace vSW := TStopWatch.StartNew; for i := 1 to cMaxLoop do begin str := ''; str := StringReplaceAll(aStr, aOldPatterns, aNewPatterns); end; Writeln('StringReplaceAll: ' + vSW.ElapsedMilliseconds.ToString); // ReplaceMultiStrings7 vSW := TStopWatch.StartNew; for i := 1 to cMaxLoop do begin str := ''; str := ReplaceMultiStrings7(aStr, aOldPatterns, aNewPatterns); end; Writeln('ReplaceMultiStrings7: ' + vSW.ElapsedMilliseconds.ToString); // MultiStrReplace3 vSW := TStopWatch.StartNew; for i := 1 to cMaxLoop do begin str := ''; str := MultiStrReplace3(aStr, aOldPatterns, aNewPatterns); end; Writeln('MultiStrReplace3: ' + vSW.ElapsedMilliseconds.ToString); // MultiStringReplaceSB vSW := TStopWatch.StartNew; for i := 1 to cMaxLoop do begin str := ''; str := MultiStringReplaceSB(aStr, aOldPatterns, aNewPatterns); end; Writeln('MultiStringReplaceSB: ' + vSW.ElapsedMilliseconds.ToString); // StringReplaceExAll vSW := TStopWatch.StartNew; for i := 1 to cMaxLoop do begin str := ''; str := StringReplaceExAll(aStr, aOldPatterns, aNewPatterns); end; Writeln('StringReplaceExAll: ' + vSW.ElapsedMilliseconds.ToString); Writeln; end; With following Results Continue the journey....
  12. Yes! That one works cool! Will now checkout and try add own method! Thank you!
  13. Pictures say more than a thousand words, so I append some 😉
  14. With Delphi Rio i am not able to build your example. Trying to fix it did not worked well.
  15. KodeZwerg

    Transparent form on the server

    Hello friend, now I understand you better and believe that you have no evil plans. There are several methods to achieve this. Since your project is opensource, give us your github link (or another server) where you uploaded and share the project. Not every method is compatible with every source. It must first be checked which method can be used for your project. Together we can do it! And write which Delphi version you are working with!
  16. KodeZwerg

    Transparent form on the server

    lol, nice one, respect 😉
  17. KodeZwerg

    Transparent form on the server

    sounds kind of suspicious.
  18. This does not help much to solve, just to understand. http://docwiki.embarcadero.com/RADStudio/Sydney/en/E2216_Can't_handle_section_'%s'_in_object_file_'%s'_(Delphi)
  19. KodeZwerg

    Delete a Registry Key...

    Embarcadero Example LazyWrite
  20. Will do, until now no success finding applicable api.
  21. KodeZwerg

    Delete a Registry Key...

    { TRegistry wrapper } function RegDelKey(const RootKey: HKEY; const Key: string): Boolean; var Reg: TRegistry; begin Reg := TRegistry.Create(KEY_WRITE); try Reg.RootKey := RootKey; Reg.LazyWrite := False; Result := ((Reg.KeyExists(Key)) and (Reg.DeleteKey(Key))); Reg.CloseKey; finally Reg.Free; end; end; // example // if RegDelKey(HKEY_CURRENT_USER, 'SOFTWARE\MyKey\') then how about such? @Ian Branch
  22. Kisses or hugs to both, you guys rock! emailx45 you are right! msdn links are helpful, more knowlegde does never hurt! i just can repeat, i do appreciate answers, that includes you too *hug* my conclusion for now is that hooking is no option since it is too late at the moment my program run. what remy lebeau mentioned, that would make my day so shiny "enumerate and go", all problems solved. on my image, the arrow button to pop-up customisation window, is that a callable api, does someone know that? excuse my bad spelling, i try my best to write understandable text.
  23. I do appreciate answers! @emailx45 You might have misunderstood me. I do not want to place something into the tray, I like to make a copy of the tray 🙂 (or I did not found proper info in your links?) @Remy Lebeau This would, if I get it running, just take effect on new created Icons, not those that are present before app run, right? Maybe this is more easy and possible, having this window (appended image from emailx45 link) open all the time, that would help too! (I do search ATM for a possibility to get with WinSpy or similar Information, but that window closes before I can access it..... arf!)
  24. KodeZwerg

    Developer Express gave up on FMX

    Source: Conversion between Embarcadero and DevExpress / German Translated version. (February 9, 2021)
×