AGB  ·  Datenschutz  ·  Impressum  







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

Alternative mit API zu SysUtils

Ein Thema von theomega · begonnen am 4. Jan 2003 · letzter Beitrag vom 16. Jan 2003
Antwort Antwort
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#1

Alternative mit API zu SysUtils

  Alt 4. Jan 2003, 16:01
Hallo
Lukie hat mich letzhin mal darauf aufmerksam gemacht, das man in WinAPI-Programmen keine SysUtils verwenden soll. Jetzt würde mich aber mal interessieren, welche Alternativen ich den habe. Eingetlich nutze ich aus der Sysutil nur die inttostr. Allerdings hat diese Funktion den Nachteil, das sie einen String zurückgibt und ich ja einen PChar bräuchte. Also ideal wäre eine Funktion INT -> PChar.

Danke

TO
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#2
  Alt 4. Jan 2003, 16:12
Hallo theomega, guck dir mal str() und val() in der OH an. IntToStr und StrToInt sind auch daraus aufgebaut soviel ich weiß, kann mangels sourcen grad nicht nachgucken.

Gruß, Sebastian
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Alternative mit API zu SysUtils

  Alt 4. Jan 2003, 18:59
Hallo theomega,

Zitat von theomega:
[...] Lukie hat mich letzhin mal darauf aufmerksam gemacht, das man in WinAPI-Programmen keine SysUtils verwenden soll.
Ich glaube, dass es Luckie war, aber das ist nur nebensächlich.
Ich denke jedoch nicht, dass er o.g. Aussage so getroffen hat. Kann es sein, dass es um NonVCL-Programme ging und die Tatsache, dass die Unit SysUtils einen ganzen Rattenschwanz an Ressourcen mit ins Programm schleppt, so dass man sich die NonVCL-Geschichte dann auch sparen könnte...
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4
  Alt 4. Jan 2003, 19:04
Ich benutze die Funktionen auch immer:
Delphi-Quellcode:
function StrToIntDef(const s: string; const i: integer): integer;
var
  code : integer;
begin
  Val(s,Result,code); if(code <> 0) then
                        Result := i;
end;

function IntToStr(const i: integer): string;
begin
  Str(i,Result);
end;
Wobei es mir "Wurscht" is´, ob das Ergebnis nun String oder PChar ist. Dafür gibt´s ja:
Delphi-Quellcode:
MessageBox(0,
  pchar(inttostr(1234)),
  nil,
  0);
Kürzlich (in Popovs "Monitor TV") habe ich eine Art "FloatToStr" mit zwei Stellen nach dem Komma gebraucht; geht ebenfalls mit "Str" und sieht so aus:
Delphi-Quellcode:
function floattostr(const i: Extended): string;
begin
  Str(i:2:1,Result);
end;
Wie Sebastian sagte: mal in die Hilfe schauen.

btw: Zu meiner Standardausrüstung von API-Programmen gehört meist eine "SysUtils.inc" mit häufiger benötigten Funktionen, wie
Code:
fileexists
ExtractFilePath
ExtractFileName
CutFileExt
Format
UpperCase
LowerCase
Damit kann man recht gut arbeiten und die Programmgröße klein halten.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5
  Alt 16. Jan 2003, 04:08
gerade eben habe ich in diesem Zusammenhang meine Toolbox veröffentlicht mit nützlichen Routinen für die Programmierung ohne die VCL.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6
  Alt 16. Jan 2003, 15:20
Du meinst wohl "für die Programmierung ohne die VCL und der Erweiterung der RTL", denn die Unit SysUtils gehört wie auch Classes und sogar System und Variante zur Runtime Library.
(Aber das nur zur Vollständigkeit)
  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 12:27 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