1. Help!!!

--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

new topic     » topic index » view message » categorize

2. Help!!!

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                *
**************************************

new topic     » goto parent     » topic index » view message » categorize

3. Help!!!

--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

new topic     » goto parent     » topic index » view message » categorize

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu