![]() |
& ersetzen, wenn es nicht als && vorkommt
Hallo,
wie kann man am einfachsten einzelne & ersetzen die z.B. in Labels für sowas benutzt werden: &OK (unterstreicht das O um anzuzeigen, dass Alt-O diese Aktion auslöst) ohne aber && komplett zu ersetzen? && würde ja genutzt, um wirklich ein & in so einem String anzuzeigen und sollte daher dann ja nur auf & reduziert werden. Ja, eine eigene Routine wäre schnell geschrieben, aber gibt's da nicht was vorgefertigtes für? Grüße TurboMagic |
AW: & ersetzen, wenn es nicht als && vorkommt
|
AW: & ersetzen, wenn es nicht als && vorkommt
Hallo,
möglich, dumm dabei nur, dass man dann eine VCL Unit in nicht GUI Code (das wäre nämlich im Code zum Auslesen von Produktnamen aus der DB) einbinden müsste... Ich schaue mir das aber später mal an. Grüße TurboMagic |
AW: & ersetzen, wenn es nicht als && vorkommt
Der Code ist nicht kompliziert und wenn du auf die Besonderheiten verzichten kannst, kommst du mit einer abgespeckten Version aus:
Delphi-Quellcode:
function StripHotkey(const Text: string): string;
var I: Integer; begin Result := Text; I := 1; while I <= Length(Result) do begin if Result[I] = '&' then Delete(Result, I, 1); Inc(I); end; end; |
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
|
AW: & ersetzen, wenn es nicht als && vorkommt
Hmm..
Wenn es immer nur um das erste '&' geht, dann würde ein
Delphi-Quellcode:
s := StringReplace(s, '&', '', []);
genau dies tun.. |
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
Für diese Buttons können die Nutzer auf diesem Weg Accelerator Keys definieren, was für Tastaturnutzer hilfreich sein kann. Danke den vielen Tipps, das ist inzwischen gelöst. |
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
|
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
Das dagegen funktioniert: Zitat:
|
AW: & ersetzen, wenn es nicht als && vorkommt
Nein, es würde nur das erste Vorkommen von "&" löschen.
|
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
Zitat:
Delphi-Quellcode:
StringReplace(s, '&', '', [rfReplaceAll]);
ReplaceStr(s, '&', ''); s.Replace('&', '') |
AW: & ersetzen, wenn es nicht als && vorkommt
[deleted]
|
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
|
AW: & ersetzen, wenn es nicht als && vorkommt
Das war ja nicht mein Code.
|
AW: & ersetzen, wenn es nicht als && vorkommt
Delphi-Quellcode:
:freak:
s := ReplaceStr(ReplaceStr(ReplaceStr(s, '&&', #1), '&', ''), #1, '&')
Delphi-Quellcode:
s := s.Replace('&&', #1).Replace('&', '').Replace(#1, '&')
oder Regexen |
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
Zitat:
also :
Delphi-Quellcode:
.
s := s.Replace('&&', #1).Replace('&', '').Replace(#1, '&&')
Beachten, #1 ist kein String! Sondern ASCII Nummer 1. Also unwahrscheinlich dass das jemand aus versehen eingetippt hat. |
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
|
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
Ich habe das mit einer leicht modifizierten Variante der VCL Funktion gelöst, ihr könnt euch also um wichtigere Probleme kümmwern... ;-) |
AW: & ersetzen, wenn es nicht als && vorkommt
Nur wenn Du die durch einfaches "&" ersetzt werden dir beim anzeigen via VCL Komponenten diese wieder durch Unterstrich oder unterstrichenen Buchstaben ersetzt und kein & angezeigt. && wird ja verwendet um ein einzelnes & in den Text zu bekommen ohne das es sich in einen Shortcut verwandelt.
|
AW: & ersetzen, wenn es nicht als && vorkommt
Nicht, wenn du im TLabel das ShowAccelChar auf True setzt. :stupid:
Aber ja, wie/wo es dann benutzt wird, entscheidet, ob man es als & oder && benötigt. |
AW: & ersetzen, wenn es nicht als && vorkommt
Zitat:
Ich würde das ähnlich wie Uwe mit einer einfachen Schleife machen wenn es um DB und Performance geht. |
AW: & ersetzen, wenn es nicht als && vorkommt
Es kommt halt immer drauf an.
Wird das 1000 Mal die Sekunde gemacht, dann gäbe es da schon Optimierungspotential, aber sonst ... warum einfach, wenn's auch kompliziert geht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz