AGB  ·  Datenschutz  ·  Impressum  







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

RightStr, LeftStr nicht gefunden???

Ein Thema von EDatabaseError · begonnen am 21. Jun 2006 · letzter Beitrag vom 22. Jun 2006
Antwort Antwort
Seite 1 von 3  1 23      
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#1

RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 16:06
In folgendem Source benötige ich den Befehl RightStr und leftStr leider kennt die mein D3 so nicht muss ich noch irgentwas in die Uses einbinden oder kann man diese function irgentwie nachmachen?

Delphi-Quellcode:
function potenziren(FWert: integer): integer;
var i: integer;
begin
  if FWert = 0 then result := 1 else result := 2; // 2^0 = 1
  for i := 1 to FWert - 1 do result := result * 2; // 2^x = 2*2*2*...
end;

function FBinToDec(FWert: String): String;
var i, ZwErg: integer;
begin
  ZwErg := 0; //Hier werden nach und nach die Ziffern Binär eingelesen
  for i := 1 to Length(FWert) do //Und entsprechend Potenziert
    ZwErg := ZwErg + strtoint(FWert[i]) * potenziren(Length(FWert)-i); //Also 110 wäre (1* 2^2) + (1* 2^1) + (0* 2^0)
  Result := inttostr(ZwErg);
end;

function FBinToHex(FWert: String): String;
var ZwErgStr: String;
    ZwErgInt: Double;
    arrIndex: Integer;
const arrHex: array[0..15] of Char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
begin // Ich erläuter das am besten gleich an nem Beispiel ;) Wir haben die BinZahl 1100111110
  while Length(FWert) > 0 do // Zuerst schauen wir ob überhaupt noch was im String steht, da wir abgearbeitete Ziffern 'rausschneiden'
      if Length(FWert) > 4 then // Wenn über 4 Ziffern vorhanden sind machen wir folgendes:
        begin
          ZwErgInt := strtoint(FBinToDec(RightStr(FWert,4))); // Wir Rechnen die hintersten 4 Ziffern (also 1110 im bsp) ab und lassen sie in Dezimal umschreiben ( also 14)
          FWert := LeftStr(FWert,Length(FWert)-4); // Jetzt schneiden wir die 4 Ziffern von FWert ab, da wir die ja schon verarbeitet haben
          Result := arrHex[Trunc(ZwErgInt)] + Result; // Nun schauen wir in unserem Array (siehe functions-konstante) nach, was an stelle bsp.: 14 steht: ein E
        end // Damit haben wir unsere Letzte Ziffer ausgerechnet. Das machen wir nun solange bis wir < 4 Zeichen in FWert haben.
      else // Wenn wir damit fertig sind steht also im ergebnis schonmal 3E und im string noch '11'
        begin
          ZwErgInt := strtoint(FBinToDec(FWert)); // Hier pasiert nun eigentlich das gleiche, nur dass wir
          FWert := ''; // Nun den String leeren können und
          Result := arrHex[Trunc(ZwErgInt)] + Result; // Nicht 4 Stellen sondern halt nur den Rest umwanden...
        end // Wir erhalten im beispiel also die letzte stelle (11bin = 3h)
end;
Mfg
Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 16:26
Was machen die Funktionen? Ich kenn die gar nicht, da ich sie auch nie brauchte ...
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
diComm

Registriert seit: 26. Jan 2005
68 Beiträge
 
#3

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 16:29
Diese Funktionen lesen eine bestimmte Anzahl Zeichen von Links resp. Rechts aus einem String.

Binde mal die Unit StrUtils mit ein, weiss nicht ob sie bei Delphi 3 dort sind, aber bei Delphi 7 waren sie in dieser Unit zu finden
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 16:38
Die Funktionen gibt es erst seit Delphi 6. Eine Alternative befindet sich hier.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 17:01
Mal Copy versucht?

Copy(StringVar, 1, 3): Dies liest vom 1. Zeichen an 3 Zeichen aus.
Copy(StringVar, length(StringVar) -3, 3): Liest von hinten 3 Zeichen.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 17:27
Florian, wie lauten somit die letzten 3 Zeichen deines Vornamens?
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 17:51
ian ??
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 17:56


Laut ihm selbst: ria
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 17:57
du musst nbatürlich auch als namen "Florian " nehmen
vlees91
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#10

Re: RightStr, LeftStr nicht gefunden???

  Alt 21. Jun 2006, 18:06
es wäre doch theoretisch möglich mit D05 PE eine DLL zu erstellen die die aufgabe übernimmt...oder
Tobias
It's not a bug, it's a feature.
  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 18:30 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