AGB  ·  Datenschutz  ·  Impressum  







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

array of char UpperCase

Ein Thema von EWeiss · begonnen am 6. Okt 2008 · letzter Beitrag vom 6. Okt 2008
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#21

Re: array of char UpperCase

  Alt 6. Okt 2008, 09:59
Man kann auch das Array in den Mülleimer verschieben und sich ein nettes PChar basteln.

Delphi-Quellcode:
function GetShortPathNameStr(longPath: string): string;
var
  szShortPathName: PChar;
  n: integer;
begin
  Result := '';

  GetMem(szShortPathName, MAX_PATH);
  try
    if GetShortPathName(PChar(longPath), szShortPathName, n) > 0 then
      Result = STRING(szShortPathName);
  finally
    FreeMem(szShortPathName);
  end;
end;

Ich habe feststellen müssen das solche Sachen wie @zTmp[1] bei manchen Compilern
in Zeichenwirrwa auflösen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#22

Re: array of char UpperCase

  Alt 6. Okt 2008, 10:06
Zitat von turboPASCAL:
Man kann auch das Array in den Mülleimer verschieben und sich ein nettes PChar basteln.

Delphi-Quellcode:
function GetShortPathNameStr(longPath: string): string;
var
  szShortPathName: PChar;
  n: integer;
begin
  Result := '';

  GetMem(szShortPathName, MAX_PATH);
  try
    if GetShortPathName(PChar(longPath), szShortPathName, n) > 0 then
      Result = STRING(szShortPathName);
  finally
    FreeMem(szShortPathName);
  end;
end;

Ich habe feststellen müssen das solche Sachen wie @zTmp[1] bei manchen Compilern
in Zeichenwirrwa auflösen.
Jo so gehts auch denke aber für Nonvcl nicht nötig oder ?
Die Windows.pas darf man ja mit einbinden oder nicht ?

Vieleicht hast noch was um die Plattformen zu prüfen ?
Dann kann ich die letzt SysUtils auch noch rausschmeißen
    Result := (Win32MajorVersion >= 5) and (Win32Platform = VER_PLATFORM_WIN32_NT); // Win 2000 or up Das stört jetzt noch

gruss EMil
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#23

Re: array of char UpperCase

  Alt 6. Okt 2008, 11:02
Zitat:
Jo so gehts auch denke aber für Nonvcl nicht nötig oder ?
Wieso, das machts doch für das Handling mit PChar's und Strings einfacher.
Man spart sich die Konvertierungs-Arie.

Klar kann man die Windows.pas, Messages.pas einbinden, warum auch nicht.
Die Sysutils würde ich an deiner Stelle drin lassen oder du musst dir eine Eigene basteln
um auf grundliegende Tolls zuzugreifen wie UpperCase, format, Fileexist, ChangeFileExt etc.
Bei meiner Source vom Fisch ist eine kleine dabei.


Delphi-Quellcode:
function IsWin2kOrUp: Boolean;
var
  ovi: TOSVERSIONINFO;
begin
  Result := FALSE;

  ZeroMemory(@ovi, sizeof(TOSVERSIONINFO));
  ovi.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO);
  GetVersionEx(ovi);
  if (ovi.dwPlatformId = VER_PLATFORM_WIN32_NT) and (ovi.dwMajorVersion >= 5)
    then result := TRUE;
end;
Sowas ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#24

Re: array of char UpperCase

  Alt 6. Okt 2008, 11:06
Zitat von turboPASCAL:
Zitat:
Jo so gehts auch denke aber für Nonvcl nicht nötig oder ?
Wieso, das machts doch für das Handling mit PChar's und Strings einfacher.
Man spart sich die Konvertierungs-Arie.

Klar kann man die Windows.pas, Messages.pas einbinden, warum auch nicht.
Die Sysutils würde ich an deiner Stelle drin lassen oder du musst dir eine Eigene basteln
um auf grundliegende Tolls zuzugreifen wie UpperCase, format, Fileexist, ChangeFileExt etc.
Bei meiner Source vom Fisch ist eine kleine dabei.


Delphi-Quellcode:
function IsWin2kOrUp: Boolean;
var
  ovi: TOSVERSIONINFO;
begin
  Result := FALSE;

  ZeroMemory(@ovi, sizeof(TOSVERSIONINFO));
  ovi.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO);
  GetVersionEx(ovi);
  if (ovi.dwPlatformId = VER_PLATFORM_WIN32_NT) and (ovi.dwMajorVersion >= 5)
    then result := TRUE;
end;
Sowas ?
Jo hab mir da auch was gebastelt
Denke man sollte schon nonvcl bleiben ansonstem kann ich direkt ne Form addieren
JO sowas werd es mal testen.

gruss Emil
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 19:40 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