AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mehrere Werte mit Locate suchen
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Werte mit Locate suchen

Ein Thema von needatip · begonnen am 25. Feb 2007 · letzter Beitrag vom 28. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

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

Re: Mehrere Werte mit Locate suchen

  Alt 26. Feb 2007, 14:17
SplitPosNummer(Edit1.Text, PosNummer);
Markus Kinzler
  Mit Zitat antworten Zitat
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Mehrere Werte mit Locate suchen

  Alt 26. Feb 2007, 16:29
Hinterher ist man immer schlauer. Na klar - PosNummer.
Jetzt wird der Datensatz nur gefunden wenn eine Positionsnummer mit einem Buchstaben eingefügt wird.
Beim Eingeben nur einer Zahl findet er den entspr. Datensatz nicht.
Liegt das etwa an dem #13, das in MyApos zurückgegeben wird?
(In meiner Datenbanktabelle können diese Werte nämlich auch NULL sein!)
Muss ich dann ein anderes Zeichen übergeben?
  Mit Zitat antworten Zitat
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Mehrere Werte mit Locate suchen

  Alt 26. Feb 2007, 18:42
Ich hab jetzt folgendes probiert:

wenn ich myPos.myApos durch 'Null' ersetze findet er den Datensatz!
Delphi-Quellcode:
if DM1.PosQuery.Locate('POSNR;APOS', VarArrayOf([myPos.MyPos,NULL]),[]) then
...
Wie bekomm ich den Wert Null in meiner Prozedur?
Delphi-Quellcode:
procedure SplitPosNummer(PosNr: string; var mypos: TMyPosNummer);
var i: integer;
  c: Char;
  s: string;
begin
  s := PosNr;
  if (s[Length(s)] in ['a'..'z']) then
  begin
    // Letztes Zeichen ist ein Buchstabe
    c := s[Length(s)];
    i := strtoint(LeftStr(s, length(s) - 1));
  end
  else
  begin
    i := strtoint(s);
    c := NULL; // !!!!!!!!!!!!!!!!! Da meckert der Compiler !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  end;
   mypos.myPOS := i;
   mypos.myAPOS := c;
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Mehrere Werte mit Locate suchen

  Alt 26. Feb 2007, 18:49
Delphi-Quellcode:
type TMyPosNummer = record
    myPOS: Integer;
    myAPOS: Variant;
  end;
Markus Kinzler
  Mit Zitat antworten Zitat
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Mehrere Werte mit Locate suchen

  Alt 26. Feb 2007, 21:05

Ok, hab ich gemacht, aber er findet den Datensatz immer noch nicht.
In der SplitPosNummer Prozedur steht doch:
Delphi-Quellcode:
...
begin
  i := strtoint(s);
  c := #13; // Default
end;
...
c:= null geht dann auch nicht!
  Mit Zitat antworten Zitat
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Mehrere Werte mit Locate suchen

  Alt 28. Feb 2007, 14:54

Jetzt funktionierts!!!!
Ich Dussel hab vergessen die unit 'variants' mit in die uses klausel mitaufzunehmen!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00: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