Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Motsvarigheter till vb:s left$, right$ och mid$ i delphi

Postades av 2001-06-01 11:35:00 - Tommy Steby, i forum delphi, Tråden har 2 Kommentarer och lästs av 1606 personer

är det nån som vet delphis motsvarigheter. Jag har hört om copy men hajar inte hur det funkar. Gärna ett litet kodexempel om ni har tid.

Tacksam för svar.

Mvh Tompa


Svara

Sv: Motsvarigheter till vb:s left$, right$ och mid$ i delphi

Postades av 2001-06-01 16:10:00 - foo Olsson

unit Vbasic;

interface

uses
SysUtils, WinTypes, WinProcs, Dialogs;

function VBLeft(Str: string; Val: integer): string;
function VBRight(Str: string; Val: integer): string;
function VBMid(Str: string; Start, Len: integer): string;
function VBVal(Str: string): integer;
function VBMonth(aDate: TDateTime): integer;
function VBInstr(intStart: integer; strFull, strSub: string): integer;
function VBFloatToStr(N: real; W, D : byte): string; { Convert Real to String }
function IsWhiteSpace(strW: string): WordBool;
function VBLTrim(sS : string) : string;
function VBRTrim(sS : string) : string;
function VBTrim(sS : string) : string;
function Environ(varName: String): String;
function Shell(ProgPath: String): word;

implementation

function VBLeft(Str: string; Val: integer): string;
begin
VBLeft:= Copy(Str, 1, Val);
end;

function VBRight(Str: string; Val: integer): string;
begin
VBRight:= Copy(Str, Length(Str)-Val+1, Val);
end;

function VBMid(Str: string; Start, Len: integer): string;
begin
VBMid:= Copy(Str, Start, Len);
end;

function VBVal(Str: string): integer;
var
num, code: integer;
begin
Val(Str, num, code);
VBVal:= num;
end;

function VBFloatToStr(N : real; W, D : byte): string; { Convert Real to String }
var
S : string;
begin
Str(N : W : D, S);
VBFloatToStr := S;
end;

function VBMonth(aDate: TDateTime): integer;
var
year, month, day: word;
begin
DecodeDate(aDate, year, month, day);
VBMonth:= month;
end;

{Returns the position of the first occurrence of one string
starting at intStart within another string.}
function VBInstr(intStart: integer; strFull, strSub: string): integer;
var
strCopy: string;
intPos: integer;
begin
strCopy:= copy(strFull,intStart,Length(strFull));
intPos:= Pos(strSub, strCopy);
if intPos = 0 then
VBInStr:= 0
else
VBInStr:= intPos+intStart-1;
end;

function IsWhiteSpace(strW: string): WordBool;
var
i: integer;
begin
IsWhiteSpace:= True;
for i:= 0 to Length(strW)-1 do
if ord(strW[i]) > 32 then
IsWhiteSpace:= False;
end;

function VBLTrim(sS : string) : string;
var
iX, iLen : integer;
begin
iLen := Length(sS);
if iLen > 0 then
begin
iX := 1;
while Copy(sS,iX,1) = ' ' do iX := iX + 1;
VBLTrim := Copy(sS,iX,iLen-(iX-1));
end
else
VBLTrim := sS;
end;

function VBRTrim(sS : string) : string;
var
iX, iLen : integer;
begin
iLen := Length(sS);
if iLen > 0 then
begin
iX := iLen;
while Copy(sS,iX,1) = ' ' do iX := iX - 1;
VBRTrim := Copy(sS,0,iX);
end
else
VBRTrim := sS;
end;

function VBTrim(sS : string) : string;
begin
VBTrim := VBLTrim(VBRTrim(sS));
end;

{$IFDEF WIN32}

function Environ(varName: String): String;
var
szBuf:Array[0..256] of char;
szVarName:Array[0..65] of char;

begin
Environ := '';
strpcopy(szVarName, VarName);
GetEnvironmentVariable(szVarName, szBuf, 255);
Environ := strPas(szBuf);
end;

{$ELSE}

function Environ(varName: String): String;
var
dosEnvPtr : PChar;
pasEnvVar : String;
varNameLen : Byte;
begin
{Obtain pointer to environment string}
dosEnvPtr := GetDOSEnvironment;
{Initialise}
varNameLen := Length(varName);
Result := '';
{Search for environment var}
repeat
{Check if match environment name}
pasEnvVar := StrPas(dosEnvPtr);
if Copy(pasEnvVar,1,varNameLen) = varName then
begin
Result := Copy(pasEnvVar,varNameLen+2,255);
Exit;
end;
{Move to next string}
dosEnvPtr := @dosEnvPtr[StrLen(dosEnvPtr)+1];
until dosEnvPtr^ = #0;
end;

{$ENDIF}

{$IFDEF WIN32}

function Shell(ProgPath: String): word;
var
SI: TStartupInfo;
PI: TProcessInformation;
Proc: THandle;
begin
FillChar(SI, SizeOf(SI), 0);
SI.cb := SizeOf(SI);
SI.wShowWindow :=0;
{Cannot take AppParms}
Shell:= 1;
if not CreateProcess(Nil, PChar(ProgPath), Nil, Nil, False,
Normal_Priority_Class, Nil, Nil, SI, PI) then begin
showmessage('Failed to execute program.');
Shell:= 0;
end;

Proc := PI.hProcess;
CloseHandle(PI.hThread);
CloseHandle(Proc);
end;

{$ELSE}

function Shell(ProgPath: String): word;
var
TP: pChar;
J: LongInt;
begin
ProgPath:= ProgPath + #0;
TP:= @ProgPath[1];
J:= WinExec(TP, SW_SHOW);
If J < 32 then
ShowMessage('Error: ' + IntToStr(J) + ' ' + ProgPath + ' could not
be opened!');
Shell:= J;
end;

{$ENDIF}

end.


Svara

Sv: Motsvarigheter till vb:s left$, right$ och mid$ i delphi

Postades av 2001-06-02 11:21:00 - Sven Åke Persson

Hej
Den var goooo Olsson
Tackar och bockar
Sven


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 577
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies