Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mysteriös, mysteriös: Showmessage gibt den Text nicht aus (https://www.delphipraxis.net/39271-mysterioes-mysterioes-showmessage-gibt-den-text-nicht-aus.html)

JPSelter 31. Jan 2005 09:40


Mysteriös, mysteriös: Showmessage gibt den Text nicht aus
 
Eine seltsame Sache ist hier passiert:
Ich habe eine Variable, die ich über eine For-Schleife Zeichen für Zeichen zusammensetzen lasse. Anschliessens überprüfe ich den Inhalt der String-Variable mit showmessage(mystring+'text'); aber das Wörtchen Text ist unsichtbar. Er scheint es schon zu schreiben, denn das Dialogfenster wird breiter, wenn der Text breiter wird, aber es sind nur Leerzeichen. Wie kann denn sowas passieren? Ich muss dafür nicht unbedingt ne Lösung haben, denn ich lösche das showmessage eh gleich wieder, aber reine Neugier treibt mich an, Euch zu fragen :)

mirage228 31. Jan 2005 09:42

Re: Mysteriös, mysteriös: Showmessage gibt den Text nicht au
 
Hi,

poste mal den enstsprechenden Code-Abschnitt mit der for-Schleife. Vielleicht ist dort ja ein Fehler versteckt ;)

mfG
mirage228

alcaeus 31. Jan 2005 09:44

Re: Mysteriös, mysteriös: Showmessage gibt den Text nicht au
 
Hallo JPSelter,

evtl. kannst du den text auch mit Delphi-Referenz durchsuchenOutputDebugString ins Debug-Fenster schreiben (Anzeige des Fensters mit Ctrl+Alt+V), und mal nachsehn was dort drinsteht.

Greetz
alcaeus

JPSelter 31. Jan 2005 09:50

Re: Mysteriös, mysteriös: Showmessage gibt den Text nicht au
 
Ist noch nicht ganz fertig, alles nach dem showmessage ist noch fehlerhaft, ich suche da grad dran, wieso er die Abfrage immer false hat. (12to22 ist der hintere Teil eines ListBox-Eintrags, der identisch mit einem String innerhalb eines Datenarrays ist).

Code:
function findIndex(index: integer): integer;
var str,search: string; i: integer;
begin
  try
  begin
    search:='';
    str:='';
    str:=Form1.ListBox1.Items[index+1];
    for i := 12 to 22 do
      search:=search+str[i];
    showmessage(search+' text');
    for i := 0 to dataanzahl-1 do
      if sitzung[i].datum=search then
      begin
        result:=i;
        break;
      end;
  end;
  except
    showmessage('Eintrag nicht gefunden!');
  end;
end;

mirage228 31. Jan 2005 09:52

Re: Mysteriös, mysteriös: Showmessage gibt den Text nicht au
 
Hi,

mach aus dem
Delphi-Quellcode:
for i := 12 to 22 do
  search:=search+str[i];
mal das:
Delphi-Quellcode:
Search := Search + Copy(Str, 12, 10); // kopiert 10 Zeichen ab dem 12. Zeichen
Das sollte evtl. helfen ;)

mfg
mirage228

JPSelter 31. Jan 2005 10:03

Re: Mysteriös, mysteriös: Showmessage gibt den Text nicht au
 
Das gibts ja gar nicht :shock:

Danke! Jetzt läuft sogar die Abfrage, wie sie laufen soll. Aber wieso? Wo genau liegt der Unterschied, ausser dass Deine Idee kürzer und stilvoller ist? Bei der ersten Lösung werden (sollten) doch eigentlich auch alle 10 zeichen korrekt aneinandergehängt werden.
:wiejetzt:

Sharky 31. Jan 2005 10:03

Re: Mysteriös, mysteriös: Showmessage gibt den Text nicht au
 
Zitat:

Zitat von JPSelter
...
Code:
function findIndex(index: integer): integer;
var str,search: string; i: integer;
begin
.

Hai JPSelter,
nur so am Rande. Du hast eine Variable Str dies ist aber auch der Name einer Funktion.
Du solltest immer vermeiden deinen Variablen die Namen von Funktionen zu geben.

JPSelter 31. Jan 2005 10:04

Re: Mysteriös, mysteriös: Showmessage gibt den Text nicht au
 
Ach Mist, str gibts ja schon... ok, dann ist mir alles klar. Danke für die schnelle Hilfe :-D
:dancer:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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