Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #11  
Old 15-03-2013, 20:45
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,077
Thanks: 1,828
Thanked 2,311 Times in 789 Posts
Cesar82 is on a distinguished road
Question

Need help.
The code pat below is for Inno Ansi Version.
I wanted modify to work on inno unicode version.

Code:
function GetDC(HWND: DWord): DWord; external '[email protected] stdcall';
function GetDeviceCaps(DC: DWord; Index: Integer): Integer; external '[email protected] stdcall';
function ReleaseDC(HWND: DWord;DC: DWord): Integer; external '[email protected] stdcall';
function GetDriveType(lpDisk: String): Integer; external '[email protected] stdcall setuponly';
function GetVolumeInformation (lpRootPathName,lpVolumeNameBuffer: PAnsiChar; nVolumeNameSize: longint; lpVolumeSerialNumber,lpMaximumComponentLength: Cardinal; lpFileSystemFlags: Cardinal; lpFileSystemNameBuffer: PAnsiChar; nFileSystemNameSize: dword): longword;
external '[email protected] stdcall setuponly';

function GetScreenHeight(): integer;
var dc: DWord;
begin
 dc:=GetDC(MainForm.Handle);
 Result:=GetDeviceCaps(dc,10);
 ReleaseDC(MainForm.Handle,dc);
end;

function GetScreenWidth(): integer;
 var dc: DWord;
begin
 dc:=GetDC(MainForm.Handle);
 Result:=GetDeviceCaps(dc,8);
 ReleaseDC(MainForm.Handle,dc);
end;

Function GetFixedDrivesInfo(): Array of Tdrive;
Var l:string;
   s,c,n: integer;
   FreeMB, TotalMB: Cardinal;
   Vl: array of AnsiString;
   Fsn: PAnsiChar;
      //
Begin
l:='ABCDEFGHIJKLMNOPQRSTUWXYZ';
for c:=1 to length(l) do begin
if GetDriveType(l[c]+':')=DRIVE_FIXED then
begin
n:=GetArrayLength(Result);
s:=GetArrayLength(Vl);
SetArrayLength(Result,n+1);
SetArrayLength(Vl,s+1);
Vl[s]:=StringOfChar(' ',256);
GetVolumeInformation (l[c]+':\',Vl[s],MAX_PATH,0,0,0,PAnsiChar(Fsn),MAX_PATH);
GetSpaceOnDisk(l[c]+':\', True, FreeMB, TotalMB)
Result[n].Letter:=l[c]+':';
Result[n].VolumeName:=Trim(Vl[s]);
Result[n].FreeSpace:=FreeMB;
Result[n].PSize:=TotalMB;
end;
end;
//MsgBox(Result[n].fileSystemname, mbInformation, mb_Ok);
End;
In inno unicode he does not perform this part.

Code:
if GetDriveType(l[c]+':')=DRIVE_FIXED then
begin
n:=GetArrayLength(Result);
s:=GetArrayLength(Vl);
SetArrayLength(Result,n+1);
SetArrayLength(Vl,s+1);
Vl[s]:=StringOfChar(' ',256);
GetVolumeInformation (l[c]+':\',Vl[s],MAX_PATH,0,0,0,PAnsiChar(Fsn),MAX_PATH);
GetSpaceOnDisk(l[c]+':\', True, FreeMB, TotalMB)
Result[n].Letter:=l[c]+':';
Result[n].VolumeName:=Trim(Vl[s]);
Result[n].FreeSpace:=FreeMB;
Result[n].PSize:=TotalMB;
end;
Can help me?
Reply With Quote
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
INNO TROUBLESHOOT - Tutorials and Answers about INNO Setup REV0 Conversion Tutorials 129 21-05-2021 05:51
INNO TUTORIAL - Using Unicode and ANSI Versions of INNO Setup REV0 Conversion Tutorials 51 26-03-2015 06:57
Frequently Asked Questions Joe Forster/STA PC Games - Frequently Asked Questions 0 29-11-2005 09:48



All times are GMT -7. The time now is 15:29.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com