Announcement

Collapse
No announcement yet.

Fehler beim Verwenden von length(string)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler beim Verwenden von length(string)

    Hallo alle zusammen.

    Nachdem ich mittlerweile schon fast verzweifelt bin, doch noch ein schönes Forum gefunden .

    Ich habe ein Programm mit 2 Formular (Units) und 4 selbst gebastelten Units geschrieben. Wenn ich
    nun aber length(string) aufrufe, beklagt der Compiler einen undefinierten Bezeichner, in jeder Unit wo ich es versuche. Weiterhin durfte ich lernen, das die System.pas auch gar nicht so einen Befehl im Quelltext enthält....

    Hat das etwas damit zu tun, das der wie writeln z.Bsp. direkt im Compiler steckt oder ist einfach irgendwas kaputt?

    Wie kann ich denn sonst die Stringlaenge herrausbekommen ohne alles in Pansichar umzuwandeln und mit strlen zu arbeiten oder das selbst neu zu schreiben?

    Ich hoffe irgend jemand weis, was da schief läuft. Danke schonmal im Vorraus.

    In anderen Projekten, selbst neu erstellten und leeren, geht's übrigens auch nicht.

  • #2
    Hallo Lutz,<BR><BR>
    welche Delphi - Version verwendest du denn?<BR>
    Bei mir funktioniert length proplemlos.<BR>
    Die Hilfe liefert auch die unit system als Quelle.<BR>
    Vielleicht wäre ein Quelltextbeispiel hilfreich, ich vermute den Fehler anderweitig.<BR>
    Was ist bei dir z.B. string? Eine Variable vom Typ String oder etwa eine Zeichenkette.<BR><BR>
    Gruß, Fran

    Comment


    • #3
      Hi Frank,

      bei mir läuft die Delphie 7.0 Personal Edition auf dem Rechner. Ich kann mir hoechstens vorstellen, das ich irgendwelchen Mist eingestellt habe bei den Unmengen an Knöpfen die Delphi hat Ich habe einen kleinen Quelltextauszug beigefügt, bei dem der Fehler auftritt.

      Vielleicht lässt sich ja doch etwas darin finden. Bis bald.......

      (Und ein String ist das was ich mit
      var s:string; deklariere, dachte ich doch.)

      <pre>

      procedure Taccform.accloginClick(Sender: TObject);
      var laenge: integer;
      begin
      if eingeloggt=false then
      begin
      laenge:=length(edit1.Text);
      account:=Taccount.acclogin
      (edit1.Text,false,laenge);
      acclogin.Caption:='acclogout';
      eingelogt:=true;
      edit1.Text:=account.username;
      edit2.Text:=account.passwort;
      edit3.Text:=account.clientid;
      edit4.Text:=timetostr(account.lastlogin);
      end;
      end;</pre&gt

      Comment


      • #4
        label1.Caption := inttostr(length(edit1.text))

        Comment


        • #5
          Scheint sich erledigt zu haben, nachdem es gestern Nacht immer noch nicht funktioniert hat, habe ich in der Not einfach mal Delphi neu installiert. Jetzt geht's einwandfrei. Habe zwar keine Ahnung, was es nun war, aber wenigstens geht es wieder.

          Trotzdem danke für den Hilfeversuch :

          Comment


          • #6
            Hallo!<br>
            Ab und an kann es passieren, daß Funktionsnamen doppelt vorliegen. Jetzt spielt die Reihenfolge der eingebundenen Units eine entscheidene Rolle.<br>
            Man kann das elegant umgehen, in dem man dem Funktionsaufruf den Unitnamen voranstellt: system.length(s) damit ist sichergestellt, daß die length Funktion aus der Unit system verwendet wird und nicht "irgendeine" andere!<br>
            BYE BERN

            Comment

            Working...
            X