AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Nicht erklärbare AV

Ein Thema von Teekeks · begonnen am 24. Jun 2009 · letzter Beitrag vom 25. Jun 2009
Antwort Antwort
Seite 1 von 3  1 23      
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

Nicht erklärbare AV

  Alt 24. Jun 2009, 11:19
Hallo!
Ich habe wiedereinmal ein Problem:
Delphi-Quellcode:
procedure Scan(TheLine:string);
var x:integer;
begin
  SetLength(Tokens,0);
  X:=1;
  while not (x=Length(TheLine)-1) do
  begin
    if TheLine[x] in ['+','-','*','/','(',')'] then
    begin
      SetLength(Tokens,Length(Tokens)+1);
      Tokens[High(Tokens)]:=TheLine[x];
    end else
    if TheLine[x] in ['a'..'z','A'..'Z'] then// Hier wird eine External AV ausgelößt...
    begin
      SetLength(Tokens,Length(Tokens)+1);
      Tokens[High(Tokens)]:=Tokens[High(Tokens)]+TheLine[x];
      while TheLine[x+1] in ['a'..'z','A'..'Z'] do
      begin
        Inc(X);
        Tokens[High(Tokens)]:=Tokens[High(Tokens)]+TheLine[x];
      end;
    end else
    if TheLine[x] in ['0'..'9'] then
    begin
      SetLength(Tokens,Length(Tokens)+1);
      Tokens[High(Tokens)]:=Tokens[High(Tokens)]+TheLine[x];
      while TheLine[x+1] in ['0'..'9'] do
      begin
        Inc(X);
        Tokens[High(Tokens)]:=Tokens[High(Tokens)]+TheLine[x];
      end;
    end;
    Inc(X);
  end;
end;

// Hier wird "Tokens" ausgegeben:
procedure DoOutputTokens;
var x:integer;
begin
  WriteLn('*******************');
  WriteLn('NextLine:');
  for x:=0 to High(Tokens) do
    WriteLn('Token: '+Tokens[x]);
end;

// Aufgerufen wird so:
  while not EOF(Datei) do
  begin
    ReadLn(Datei,ActLine);
    Scan(ActLine);
    DoOutPutTokens;
  end;
Angezeigt bekomme ich das hier:
Zitat:
******************
NextLine:
Token: Hallo
Token: 712
Token: +
Die Zu behandelnde Datei siet so aus:
Zitat:
Hallo=712+sd
n+od +df
Ich verstehe nicht was ich falsch gemacht habe...
Wenn an dieser Stelle eine AV kommt, hätte eigentlich noch nichts Ausgegeben werden dürfen...

Wisst ihr warum das so ist???

gruß Teekeks
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 11:29
Delphi-Quellcode:
while TheLine[x+1] in ['a'..'z','A'..'Z'] do

while TheLine[x+1] in ['0'..'9'] do
diese beiden Schleifen können dafür sorgen, daß x aus dem gültigen Bereich rausläuft

probier mal dieses (durch obrige Schleifen kann es passieren, daß genau der EINE austrittspunkt übersprungen wird)
while x < Length(TheLine) do und es könnte nix schaden, wenn du in oben genannte Schleifen auch noch eine Length-Abfrage mit reinmachst.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 12:19
THX!
Jetzt geht es...
Bei mir gehen nur die größer und kleiner als Tasten nicht( sch...limmer Laptop), deswegen wollte ich das mit = lösen ^^
Ich schein aber nicht drumrum zu kommen...

gruß Teekeks
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 12:24
nimm dann doch einfach ein anderes Tastaturlayout ... da gibt's Welche, wo diese Zeichen auf anderen Tasten liegen

oder Copy&Paste
Zitat:
< >
bzw. Alt+060 = < und Alt+062 (Zahlen im Ziffernblock, aber k.A. wie einfach das mit'm Schlepptop geht)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 12:27
[spam]
Hier ein paar Operatoren:

{ <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< }
{ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> }

einfach per Copy&Paste in den Quelltext legen und bei Bedarf einzelnen Operator markieren und mit der Mouse an die richtige Stelle ziehen.

Das ist nur ein Schnupper-Angebot, weitere Operatoren sind kostenpflichtig!
[/spam] Mist, himitsu war schneller und hat meinem Spam-Post den Sinn genommen
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 12:32
@satty: Ich würde gerne ein All Inclusiv angebot nehmen....
Was kostet das??
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 13:35
Bei mir nichtmal einen Euro ... nur 33ct pro Zeichen.

PS: Hier noch ein paar ||||||||||| (die sind ja meißt auch mit auf dieser Taste)

Wie geagt, probier einfach mal z.B. das amerikanische Tastaturlayout (wenn du das deutsche drin hast, oder andersrum), mußt nur aufpassen, daß dann zusätzlich noch Y und Z vertauscht sind.

Dann sind diese Zeichen da Rechts irgendwo, bei Komma und Co.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 13:50
Zitat von himitsu:
PS: Hier noch ein paar ||||||||||| (die sind ja meißt auch mit auf dieser Taste)
Wusste gar nicht, dass man diesen Operator jetzt auch schon in Delphi benötigt. Bisher war Delphi doch sehr freundlich bzgl. des deutschen Tastaturlayouts.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 14:01
Zitat von sirius:
Wusste gar nicht, dass man diesen Operator jetzt auch schon in Delphi benötigt. Bisher war Delphi doch sehr freundlich bzgl. des deutschen Tastaturlayouts.
hast du schonmal mit einem TOpenDialog oder seinen Freunden gearbeitet?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Nicht erklärbare AV

  Alt 24. Jun 2009, 14:04
ok. aber zur Verteidigung ist noc zu sagen, dass dieses Verhalten nicht durch Delphi, sondern durch Windows veranlasst wird.

Edit: ausserdem hat der Nutzer in meinen Programmen eh nix zu sagen, ergo gibts auch keine Dialoge, meine Programme sind Monologe
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 09:51 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