AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi AVR Bascom Funktion in Delphi???
Thema durchsuchen
Ansicht
Themen-Optionen

AVR Bascom Funktion in Delphi???

Ein Thema von Muellermilchtrinker · begonnen am 15. Aug 2010 · letzter Beitrag vom 15. Aug 2010
Antwort Antwort
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#1

AVR Bascom Funktion in Delphi???

  Alt 15. Aug 2010, 14:05
Hallo DP,

vielleicht kennt jmd. von euch Bascom AVR. Dort gibt es ja eine Funktion die nennt sich lookup.
Mit dieser kann man Tabellen auslesen. Eine Tabelle sieht z.Bsp. so aus:
Code:
Data 25%
Data 1%,25%,3%
Data 100%,2%
Data 100%,26%,64%,34%
usw.
Mit ' leitet man ein Kommentar ein.

Auslesen tut man es so:
lookup(1,Datei.txt). Damit bekommt man jetzt "1". Die % Zeichen sind die Datentypen, man kann auch noch andere verwenden, aber ich brauch nur die mit %.
Ich hoffe ihr versteht wie man die Daten bekommt. Also es wird immer 0,1,2,3 gezählt.

Weiß jemand, wie ich so eine Funktion in Delphi hinbekomm. Mein Problem ist, dass ich zu dieser Funktion keinen SourceCode hab, um ihn zu übersetzen. Aber ich werd mal das Verzeichnis durchsuchen. Da hab ich bis jetzt noch nicht gesucht. Vielleicht hat ja jemand von euch eine Idee, wie man so eine Funktion realisieren könnte.
Danke schonmal.

EDIT: die Funktion hieß lookup, nicht offset.
Hab euch noch die Beschreibung aus der Hilfe: http://avrhelp.mcselec.com/lookup.htm
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.

Geändert von Muellermilchtrinker (15. Aug 2010 um 16:28 Uhr)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: AVR Bascom Funktion in Delphi???

  Alt 15. Aug 2010, 17:04
Was ist so schwer daran, sowas selber zu schreiben?

Delphi-Quellcode:
function Lookup(offset:integer; DataIN:string):string;
type
  TStatus = (sNone, sKommentar, sData);
var
  i, dataindex:integer;
  Status:TStatus;
  stop:boolean;
begin
  i:=1;
  Status:=sNone;
  dataindex:=0;
  Result:='';
  stop:=false;
  while (i < length(dataIN)) and not stop do begin
    if dataIN[i] = '''then begin
      if Status = sData then begin
        stop:=(dataindex = offset);
        inc(dataindex);
      end;
      Status:=sKommentar;
    end
    else if dataIN[i] = #10 then begin
      if Status = sData then begin
        stop:=(dataindex = offset);
        inc(dataindex);
      end;
      Status:=sNone;
    end
    else if (Status = sNone) and (copy(dataIN, i, 5) = 'Data ') then begin
      Status:=sData;
      Result:='';
      inc(i, 4);
    end
    else if Status = sData then begin
      if dataIN[i] = ',then begin
        stop:=(dataindex = offset);
        inc(dataindex);
        if not stop then
          Result:='';
      end
      else Result:=Result + dataIN[i];
    end;
    inc(i);
  end;
  Result:=trim(Result);
end;
Aufruf...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Liste:TStringList;
begin
  Liste:=TStringList.Create;
  try
    Liste.Append('''Data 25%');
    Liste.Append('Data 1%,25%,3%');
    Liste.Append('Data 100%,2%');
    Liste.Append('Data 100%,26%,64%,34%');
    ShowMessage('>' + Lookup(0, Liste.Text) + '<');
  finally
    Liste.free;
  end;
end;

Geändert von omata (15. Aug 2010 um 17:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#3

AW: AVR Bascom Funktion in Delphi???

  Alt 15. Aug 2010, 17:15
Wollte ja eigentlich nur eine Idee, wie ich das machen kann, aber eine ganze Funktion ist auch nett.
Danke nochmals dafür.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: AVR Bascom Funktion in Delphi???

  Alt 15. Aug 2010, 17:27
Es hatte sich doch noch ein Fehler eingeschlichen, ist oben korrigiert.
  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 20:32 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