1. Help!!!
- Posted by Luis Campos <lcasoft at TELELINE.ES>
Jun 15, 2000
-
Last edited Jun 16, 2000
--Message-Boundary-10946
Content-type: text/plain; charset=US-ASCII
Content-disposition: inline
Content-description: Attachment information.
The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any another MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.
---- File information -----------
File: Commas.e
Date: 27 Mar 1998, 15:45
Size: 3062 bytes.
Type: Unknown
--Message-Boundary-10946
Content-type: Application/Octet-stream; name="Commas.e"; type=Unknown
2. Help!!!
- Posted by Luis Campos <lcasoft at TELELINE.ES>
Jun 15, 2000
-
Last edited Jun 16, 2000
Hi all,
here again dealing with peeks and pokes.The following program
works fine under Linux but not under Dos.For some reason I'm not
able to peek/poke above the lower memory.
Please,send me any suggestion ...
thanx and regards,
Luis
------------------------------------- Buggy code
---------------------------------------
include machine.e
include get.e
include graphics.e
include abrir.e
include commas.e
without profile
without type_check
without warning
object Data_in_RAM,
allocation_result,
pointer,
bar,
buffer_size,
tecla
integer Byte
buffer_size = 256 -- bytes
sequence progress_bar
progress_bar = { '|','/','-','\\' }
procedure free_buffer( object memory_address )
-- liberar el buffer
free( memory_address )
puts(1,"\nbuffer removed from memory")
end procedure
function put_buffer( integer buffer_length )
object buffer_address
allocation_result = allocate( buffer_length )
if allocation_result = 0 then
puts(1,"\nUnable to allocate buffer...")
else
buffer_address = allocation_result
printf(1,"\n%d-byte buffer allocated in address %s",
{buffer_size,
add_commas(buffer_address,".0")})
end if
return buffer_address
end function
global procedure analizar_memoria( integer Offset_1,
integer Offset_2,sequence Pos )
object allocation_address
bar = 0
-- posicionar el buffer
allocation_address = put_buffer( buffer_size )
-- leer memoria
for Offset = Offset_1 to Offset_2 - 1 by 256 do
Data_in_RAM = peek( { Offset, 256 } )
-- escribir en el buffer
poke(allocation_address,Data_in_RAM)
bar += 1
if bar = 5 then
bar = 1
end if
position(Pos[1],Pos[2])
puts(1, progress_bar[bar]&" " )
puts(1,add_commas(Offset,".0"))
puts(1, ":"&Hex(Offset))
end for
-- liberar la memoria
-- print(1,Data_in_RAM)
free_buffer(allocation_address)
end procedure
------------------------------- Test procedure
----------------------------------
clear_screen()
---it's suposed to read the whole 32MB ram of my computer
-- but it crashes when Offset arrives to 1208319 or similar
-- values... ? :-[
analizar_memoria(0,32*1024*1024,{1,1})
-------------------------------- End test
**************************************
* Luis Campos - lcampoar8 at far.ub.edu *
* LCASOFTWARE S.L *
* LCASOFT at teleline.es *
**************************************
3. Help!!!
- Posted by Luis Campos <lcasoft at TELELINE.ES>
Jun 15, 2000
-
Last edited Jun 16, 2000
--Message-Boundary-13302
Content-type: text/plain; charset=US-ASCII
Content-disposition: inline
Content-description: Attachment information.
The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any another MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.
---- File information -----------
File: Abrir.e
Date: 20 May 2000, 16:04
Size: 8629 bytes.
Type: Unknown
--Message-Boundary-13302
Content-type: Application/Octet-stream; name="Abrir.e"; type=Unknown
4. Help!!!
This win32 C++ function call is kicking my butt!
I just cannot figure this stuff out. Can someone tell me what I am doing
wrong or what I am missing please correct my code.
see below....
I have tried everything that I know? All I want to do is get the total disk
size and total free space on the drive. The function is for drives larger
than 2.1GB on Win9x OSR2 and above and WinNT 4.0 and above. I think that it
is a lack of knowledge in C and Win32 API on my part.... Any comments would
be appreciate it.
--------------
include dll.e
include machine.e
constant KERNEL32 = open_dll("kernel32")
if KERNEL32 = 0 then
puts(1,"Couldn't open kernel32.dll.\n")
abort(1)
end if
object C_GetDiskFreeSpaceEx =
C_POINTER},C_LONG)
global function GetDiskFreeSpaceEx(atom dirname)
atom diskqouta, totdisksize, totdiskfree
sequence freespace
object diskinfo
diskqouta = allocate(8)
totdisksize = allocate(8)
totdiskfree = allocate(8)
diskinfo = c_func(C_GetDiskFreeSpaceEx,{dirname, diskqouta,
totdisksize,
totdiskfree})
freespace = peek4u(totdiskfree, 2)
free(diskqouta)
free(totdisksize)
free(totdiskfree)
return freespace
end function
atom totdiskinfo, volname
volname = allocate_string("C:\\")
totdiskinfo = GetDiskFreeSpaceEx(volname)
puts(1, totdiskinfo)
-----------
Thanks,
JKinsey