AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken string bei abfrage kürzen?
Thema durchsuchen
Ansicht
Themen-Optionen

string bei abfrage kürzen?

Ein Thema von khh · begonnen am 1. Feb 2010 · letzter Beitrag vom 1. Feb 2010
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

string bei abfrage kürzen?

  Alt 1. Feb 2010, 07:55
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
hallo zusammen,
ich möchte eine String aus der DB bei der Ausgabe auf den Drucker auf 12 Zeichen kürzen.
jetzt übergebe ich den wert folgendermassen:

Printer.Canvas.TextOut(frandlinks ,frandoben + cmtopixel(4,fdpih) , ZQuery.FieldByName('firma').AsString);

hier ein copy anzusetzen geht ja nicht.
Ist es möglich schon bei der sqlabfrage zu kürzen?

danke Gruss kh
Karl-Heinz
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 07:58
Warum geht kein copy? Folgendes sollte doch problemlos klappen:

Printer.Canvas.TextOut(frandlinks ,frandoben + cmtopixel(4,fdpih) , copy(ZQuery.FieldByName('firma').AsString, 1, 12));

"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 07:59
Zitat von khh:
Printer.Canvas.TextOut(frandlinks ,frandoben + cmtopixel(4,fdpih) , ZQuery.FieldByName('firma').AsString);
hier ein copy anzusetzen geht ja nicht.
Hallo, warum sollte das Copy nicht gehen?

Printer.Canvas.TextOut(frandlinks ,frandoben + cmtopixel(4,fdpih) , Copy(ZQuery.FieldByName('firma').AsString, 1, 12));
Thomas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 08:02
Oder direkt in der Ausgabe

select cast( <Feld> as char(12)), ...
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#5

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 08:12
Zitat von toms:
Zitat von khh:
Printer.Canvas.TextOut(frandlinks ,frandoben + cmtopixel(4,fdpih) , ZQuery.FieldByName('firma').AsString);
hier ein copy anzusetzen geht ja nicht.
Hallo, warum sollte das Copy nicht gehen?

Printer.Canvas.TextOut(frandlinks ,frandoben + cmtopixel(4,fdpih) , Copy(ZQuery.FieldByName('firma').AsString, 1, 12));
so gehts tatsächlich, aber warum gehst hier nicht?
hab ich irgendwo ne Klammer falsch?


Printer.Canvas.TextOut(frandlinks + cmtopixel(7,fdpih) ,frandoben + cmtopixel(fzeilenposition,fdpih) + cmtopixel(fzeilendruckposition,fdpih) , copy(ZQuery.FieldByName('artbezeichnung').AsString ),1,12)) ;

Error: Wrong number of parameters specified for call to "$fpc_ansistr_copy"

Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 08:15
Eine Klammer ist zu viel: AsString) -> AsString
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 08:17
Zitat von khh:
hab ich irgendwo ne Klammer falsch?
Jupp.

copy(ZQuery.FieldByName('artbezeichnung').AsString, 1, 12) Nach "AsString" ist eine überflüssige Klammer. Vergleiche es einfach mit dem funktionierenden Beispiel von toms.

Grüße, Matze

Edit: Da war ich mal wieder zu langsam ...
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#8

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 08:19
Zitat von Matze:
Zitat von khh:
hab ich irgendwo ne Klammer falsch?
Jupp.

copy(ZQuery.FieldByName('artbezeichnung').AsString, 1, 12) Nach "AsString" ist eine überflüssige Klammer. Vergleiche es einfach mit dem funktionierenden Beispiel von toms.

Grüße, Matze

Edit: Da war ich mal wieder zu langsam ...
ich danke euch,
ist halt noch früh am Morgen


Gruss Kh
Karl-Heinz
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 09:14
Man darf übrigens lokale Variablen verwenden, um den Sourcecode klarer darzustellen:
Delphi-Quellcode:
var
  artbez : string;
begin
  artbez := copy(ZQuery.FieldByName('artbezeichnung').AsString, 1, 12);
  Printer.Canvas.TextOut(frandlinks ,frandoben + cmtopixel(4,fdpih) , artbez);
Man muss nicht alles in eine Zeile pressen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

Re: string bei abfrage kürzen?

  Alt 1. Feb 2010, 11:47
Oder nen Plugin benutzen, was Klammern highlightet
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:23 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