AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Das Zeichen & erhält beim Auslesen einen anderen Wert
Thema durchsuchen
Ansicht
Themen-Optionen

Das Zeichen & erhält beim Auslesen einen anderen Wert

Ein Thema von Alfredo · begonnen am 1. Jul 2009 · letzter Beitrag vom 2. Jul 2009
Antwort Antwort
Seite 1 von 2  1 2      
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
274 Beiträge
 
Delphi 12 Athens
 
#1

Das Zeichen & erhält beim Auslesen einen anderen Wert

  Alt 1. Jul 2009, 23:39
Datenbank: dbf • Version: Foxpro 2.6 • Zugriff über: ADS
Im Datagrid steht z.B. im Feld NAME == "Müller & Partner".

Delphi-Quellcode:
Stringvariable := ADSTable1.FieldValues['NAME']
showmessage(Stringvariable);
Dann erhält man als Ausgabe "Müller _Partner".

Gruß
Alfred
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 1. Jul 2009, 23:51
Das ist ein falscher Fehler, da der Text ordentlich ausgelesen wird. Nur die Anzeige durch ShowMessage verfälscht dieses. Das & Zeichen ist die Kennzeichnung für ShortCuts und wird somit als Unterstrich dargestellt (sogenanntes Escape Zeichen). Um das Escapezeichen zu deaktivieren musst du das Escapezeichen escapen, also doppelt-&.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 2. Jul 2009, 07:59
Hallo,

aber das ShowMessage das falsch anzeigt, ist komisch.
Bei einem TLabel wird das ja über ShowAccelChar gesteuert.


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 2. Jul 2009, 08:02
Was zeigt er im Debugger an?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 2. Jul 2009, 08:16
in Delphi wurde wohl einfach vergessen das SS_NOPREFIX anzugeben.

standardmäßig wird & als Accelchar angesehn und man muß es erst abschalten.
nur gibt es bei den Dialogen halt keine ShowAccelChar-Option .
$2B or not $2B
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
274 Beiträge
 
Delphi 12 Athens
 
#6

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 2. Jul 2009, 09:29
@himitsu

Wo setze ich denn SS_NOPREFIX.


@mkinzler

mit dem Debugger stehe ich leider noch auf Kriegsfuss,
so dass showmessage mein Debugger ist.


Gruß
Alfred
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 2. Jul 2009, 09:39
Zitat von Alfredo:
Wo setze ich denn SS_NOPREFIX.
bei dieser Funktion garnicht, denn das müßte ja "intern" gesetzt werden (beim Edit aktiviert man Setzen dieses Flags halt mit der Eigenschaft ShowAccelChars)

Zitat von Alfredo:
mit dem Debugger stehe ich leider noch auf Kriegsfuss,
so dass showmessage mein Debugger ist.
Strg+Alt+W (oder Ansicht > Debugfenster > Überwachte Ausdrücke)
und dort den Namen der Variable eintragen

sobald das Programm im Debugmode (angehalten) in einer Prozedur steht, wo diese Variable verfügbar ist, wird ihr Inhalt angezeigt.

oder auch einfach mal den Mauszeiger über einem Variablennamen (im Quelltext) halten und 'nen paar Sekündchen warten, dann zeigt der Debugges den Inhalt auch an.

oder Rechtsklick (Popupmenü) auf eine Variable > Fehlersuche > Auswerten/Ändern
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#8

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 2. Jul 2009, 09:40
Mach doch einfach ein

StringReplace(Name, '&', '&&',[rfReplaceAll]) Sherlock
Oliver
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 2. Jul 2009, 10:45
Hallo,

NEIN !!!

Du kannst doch nicht den Variablen-Inhalt ändern, Mensch !!!
nur weil ShowMessage ihn falsch anzeigt (wenn es so ist).

Wenn z.B. ein Label den Wert korrekt anzeigt, ist es doch OK.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#10

Re: Das Zeichen & erhält beim Auslesen einen anderen Wer

  Alt 2. Jul 2009, 10:53
Der Variableninhalt wird nicht geändert. StringReplace ist eine Funktion deren Ergebnis der korrigierte String ist

Sherlock
Oliver
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz