Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TurboPascal: In welcher Unit ist StrToInt deklariert ? (https://www.delphipraxis.net/118428-turbopascal-welcher-unit-ist-strtoint-deklariert.html)

Nils_13 7. Aug 2008 15:29


TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Hi,

in welcher Unit ist bei Turbo Pascal 7.0 die Funktion StrToInt deklariert ?

mschaefer 7. Aug 2008 15:30

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
sysutls

Nils_13 7. Aug 2008 15:31

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Die Datei findet er nicht.

DeddyH 7. Aug 2008 15:33

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Unter TP gab es schon StrToInt? Ich habe immer mit Str rumhantiert.

Bernhard Geyer 7. Aug 2008 15:33

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Heißt ja auch SysUtils

gammatester 7. Aug 2008 15:53

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Zitat:

Zitat von Bernhard Geyer
Heißt ja auch SysUtils

Ist mir trotzdem von TP5 bis BP7 nicht über den Weg gelaufen und der BP7-Hilfe auch nicht bekannt.

Vielleicht eine selbstgeschriebene Unit?

Gammatester

Der.Kaktus 7. Aug 2008 15:55

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Zitat:

Zitat von gammatester
Zitat:

Zitat von Bernhard Geyer
Heißt ja auch SysUtils

Ist mir trotzdem von TP5 bis BP7 nicht über den Weg gelaufen und der BP7-Hilfe auch nicht bekannt.

Vielleicht eine selbstgeschriebene Unit?

Gammatester

..Mir unter Turbo-Pascal auch nich !! :gruebel:

DeddyH 7. Aug 2008 15:56

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Nimm Doch einfach Str und gut is :)

Dezipaitor 7. Aug 2008 15:57

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Val ist die gesuchte Prozedur in der System unit.

DeddyH 7. Aug 2008 15:59

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Stimmt, Val, Str wäre für IntToStr.

turboPASCAL 7. Aug 2008 16:06

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
In Turbo Pascal gibt es diese Funktion nicht. Erst ab Delphi ...

Ist aber relativ einfach zu umgehen:

Delphi-Quellcode:
function StrToInt(s: string): Integer;
var
  i, Error: Integer;
begin
  Val(s, i, Error);
  StrToInt := i;
end;

function IntToStr(Value: Integer): string;
var
  s: string;
begin
  Str(Value, s);
  IntToStr := s;
end;

Der.Kaktus 7. Aug 2008 16:16

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Zitat:

Zitat von turboPASCAL
In Turbo Pascal gibt es diese Funktion nicht. Erst ab Delphi ...

Ist aber relativ einfach zu umgehen:

Delphi-Quellcode:
function StrToInt(s: string): Integer;
var
  i, Error: Integer;
begin
  Val(s, i, Error);
  StrToInt := i;
end;

function IntToStr(Value: Integer): string;
var
  s: string;
begin
  Str(Value, s);
  IntToStr := s;
end;

Ahhh..da geht einem "Uralt" Programmierer das Herz auf..die Zeilen waren verstaendlich :-D

Dezipaitor 7. Aug 2008 16:26

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
man sollte aber schon den Error-Wert überprüfen!

Neutral General 7. Aug 2008 17:05

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Diese temporären (lokalen) Variablen s und i benötigt man nicht. Man kann jeweils auch direkt Result benutzen.

Gruß
Neutral General

jbg 7. Aug 2008 17:09

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Zitat:

Zitat von Neutral General
Man kann jeweils auch direkt Result benutzen.

Sag das mal dem TurboPASCAL Compiler.

Der.Kaktus 7. Aug 2008 17:09

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Zitat:

Zitat von Neutral General
Diese temporären (lokalen) Variablen s und i benötigt man nicht. Man kann jeweils auch direkt Result benutzen.

Gruß
Neutral General

Muss ich Dir leider widersprechen..zu Turbo-Pascal Zeiten gabs noch kein Result ;-)
[Edit] OK ausser IORESULT[/Edit] *g*

Roter Kasten war nich...trotz Zeitgleicheit *gg* @JBG

Neutral General 7. Aug 2008 17:11

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Zitat:

Zitat von jbg
Zitat:

Zitat von Neutral General
Man kann jeweils auch direkt Result benutzen.

Sag das mal dem TurboPASCAL Compiler.

Oh da ist was dran :oops:

grenzgaenger 7. Aug 2008 21:37

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Zitat:

Zitat von Der.Kaktus
Zitat:

Zitat von turboPASCAL
In Turbo Pascal gibt es diese Funktion nicht. Erst ab Delphi ...

Ist aber relativ einfach zu umgehen:

Delphi-Quellcode:
function StrToInt(s: string): Integer;
var
  i, Error: Integer;
begin
  Val(s, i, Error);
  StrToInt := i;
end;

function IntToStr(Value: Integer): string;
var
  s: string;
begin
  Str(Value, s);
  IntToStr := s;
end;

Ahhh..da geht einem "Uralt" Programmierer das Herz auf..die Zeilen waren verstaendlich :-D

aber die funktionalität ist noch unterschiedlich, val/str arbeitet zwingend mit dem "." als dezimaltrennzeichen, während inttostr/strtoint mit dem "decimalseparator" arbeiten. liegt wohl auch daran, dass zu dieser zeit noch keine ländereinstellungen zum dezimaltrennzeichen unter DOS möglich waren ... ;-)


btw: inttostr wurde mit D1 eingeführt, das Result glaub noch später... :gruebel:

p80286 8. Aug 2008 12:53

Re: TurboPascal: In welcher Unit ist StrToInt deklariert ?
 
Zitat:

Zitat von grenzgaenger

aber die funktionalität ist noch unterschiedlich, val/str arbeitet zwingend mit dem "." als dezimaltrennzeichen, während inttostr/strtoint mit dem "decimalseparator" arbeiten. liegt wohl auch daran, dass zu dieser zeit noch keine ländereinstellungen zum dezimaltrennzeichen unter DOS möglich waren ... ;-)


Ja und ? Falls gewünscht wird eben aus dem '.' ein Komma gemacht, bzw. aus dem ',' ein Punkt.
Damals war es zwar oft nervig wenn 123.54 DM zu zahlen waren, aber da konnte noch jedes Programm mit jedem anderen.
Versuch heute mal eine Amerianische excel-Datei mit einem Deutschen Excel zu öffnen, das ist immer ein Glücksspiel.
Oracle liefert in der Standardeinstellung (bei mir) 123.45. Ein Deutsches Excel erkennt das nicht als Dezimalzahl.
Das gleiche gilt für die verschiedenen Datumsformate.
Wenn man wenigstens Importfilter definieren könnte!

Gruß
K-H


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