diff options
author | Araq <rumpf_a@web.de> | 2012-07-10 01:21:04 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2012-07-10 01:21:04 +0200 |
commit | 759d3728639f10e83d45e04dcbe7b481a8d25991 (patch) | |
tree | d809513376af9774cf47ca05de4f2b1515521f85 | |
parent | 95faae2c0a0e5e6be8e7502ecf217bf0f325c7c9 (diff) | |
download | Nim-759d3728639f10e83d45e04dcbe7b481a8d25991.tar.gz |
dialogs.nim and osinfo_win.nim compile again
-rwxr-xr-x | lib/impure/dialogs.nim | 12 | ||||
-rwxr-xr-x | lib/impure/osinfo_win.nim | 18 |
2 files changed, 18 insertions, 12 deletions
diff --git a/lib/impure/dialogs.nim b/lib/impure/dialogs.nim index 6956983bb..5bd7bf6f6 100755 --- a/lib/impure/dialogs.nim +++ b/lib/impure/dialogs.nim @@ -65,13 +65,13 @@ proc ChooseFileToOpen*(window: PWindow, root: string = ""): string = var opf: TOPENFILENAME buf: array [0..2047, char] - opf.lStructSize = sizeof(opf) + opf.lStructSize = sizeof(opf).int32 if root.len > 0: opf.lpstrInitialDir = root opf.lpstrFilter = "All Files\0*.*\0\0" opf.flags = OFN_FILEMUSTEXIST opf.lpstrFile = buf - opf.nMaxFile = sizeof(buf) + opf.nMaxFile = sizeof(buf).int32 var res = GetOpenFileName(addr(opf)) if res != 0: result = $buf @@ -100,13 +100,13 @@ proc ChooseFilesToOpen*(window: PWindow, root: string = ""): seq[string] = var opf: TOPENFILENAME buf: array [0..2047*4, char] - opf.lStructSize = sizeof(opf) + opf.lStructSize = sizeof(opf).int32 if root.len > 0: opf.lpstrInitialDir = root opf.lpstrFilter = "All Files\0*.*\0\0" opf.flags = OFN_FILEMUSTEXIST or OFN_ALLOWMULTISELECT or OFN_EXPLORER opf.lpstrFile = buf - opf.nMaxFile = sizeof(buf) + opf.nMaxFile = sizeof(buf).int32 var res = GetOpenFileName(addr(opf)) result = @[] if res != 0: @@ -161,13 +161,13 @@ proc ChooseFileToSave*(window: PWindow, root: string = ""): string = var opf: TOPENFILENAME buf: array [0..2047, char] - opf.lStructSize = sizeof(opf) + opf.lStructSize = sizeof(opf).int32 if root.len > 0: opf.lpstrInitialDir = root opf.lpstrFilter = "All Files\0*.*\0\0" opf.flags = OFN_OVERWRITEPROMPT opf.lpstrFile = buf - opf.nMaxFile = sizeof(buf) + opf.nMaxFile = sizeof(buf).int32 var res = GetSaveFileName(addr(opf)) if res != 0: result = $buf diff --git a/lib/impure/osinfo_win.nim b/lib/impure/osinfo_win.nim index 86e437c92..46af1ddd6 100755 --- a/lib/impure/osinfo_win.nim +++ b/lib/impure/osinfo_win.nim @@ -67,7 +67,7 @@ type SuiteMask*: int ProductType*: int - TPartitionInfo* = tuple[FreeSpace, TotalSpace: filetime] + TPartitionInfo* = tuple[FreeSpace, TotalSpace: Tfiletime] const # SuiteMask - VersionInfo.SuiteMask @@ -157,7 +157,7 @@ proc GlobalMemoryStatusEx*(lpBuffer: var TMEMORYSTATUSEX){.stdcall, dynlib: "ker proc getMemoryInfo*(): TMemoryInfo = ## Retrieves memory info var statex: TMEMORYSTATUSEX - statex.dwLength = sizeof(statex) + statex.dwLength = sizeof(statex).int32 GlobalMemoryStatusEx(statex) result.MemoryLoad = statex.dwMemoryLoad @@ -180,7 +180,7 @@ proc GetModuleHandleA*(lpModuleName: cstring): int{.stdcall, proc getVersionInfo*(): TVersionInfo = ## Retrieves operating system info var osvi: TOSVERSIONINFOEX - osvi.dwOSVersionInfoSize = sizeof(osvi) + osvi.dwOSVersionInfoSize = sizeof(osvi).int32 discard GetVersionEx(osvi) result.majorVersion = osvi.dwMajorVersion result.minorVersion = osvi.dwMinorVersion @@ -367,7 +367,13 @@ proc `$`*(osvi: TVersionInfo): string = proc getFileSize*(file: string): biggestInt = var fileData: TWIN32_FIND_DATA - var hFile = FindFirstFileA(file, fileData) + + when useWinUnicode: + var aa = allocWideCString(file) + var hFile = FindFirstFileW(aa, fileData) + dealloc aa + else: + var hFile = FindFirstFileA(file, fileData) if hFile == INVALID_HANDLE_VALUE: raise newException(EIO, $GetLastError()) @@ -376,12 +382,12 @@ proc getFileSize*(file: string): biggestInt = proc GetDiskFreeSpaceEx*(lpDirectoryName: cstring, lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, - lpTotalNumberOfFreeBytes: var filetime): WINBOOL{. + lpTotalNumberOfFreeBytes: var TFiletime): WINBOOL{. stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".} proc getPartitionInfo*(partition: string): TPartitionInfo = ## Retrieves partition info, for example ``partition`` may be ``"C:\"`` - var FreeBytes, TotalBytes, TotalFreeBytes: filetime + var FreeBytes, TotalBytes, TotalFreeBytes: TFiletime var res = GetDiskFreeSpaceEx(r"C:\", FreeBytes, TotalBytes, TotalFreeBytes) return (FreeBytes, TotalBytes) |