Hollosi Information eXchange /HIX/
HIX CODER 676
Copyright (C) HIX
1999-12-18
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 CButton koszi! (mind)  5 sor     (cikkei)
2 ExcelApplication komponens hasznalata (Delphi 5) (mind)  53 sor     (cikkei)
3 Progress help (mind)  10 sor     (cikkei)
4 Re: Nyelvek & Szezon fazom (mind)  18 sor     (cikkei)
5 Re: Floppy vezerlo direkt programozasa (mind)  182 sor     (cikkei)
6 Visual c++ 6.0 dokumentacio (mind)  11 sor     (cikkei)

+ - CButton koszi! (mind) VÁLASZ  Feladó: (cikkei)

Ave !

Koszi mindenkinek akik a segitettek 
CButton on CView temaban!
Csaba.
+ - ExcelApplication komponens hasznalata (Delphi 5) (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

A Delphi Excelbe valo exportalasaval kapcsolatban van egy kis problemam:
ha az Excel-be atvitt adatok szama eler egy bizonyos erteket, drasztikusan lela
ssul a prg. futasa, annyira
hogy tovabbi adatexportalas nem tortenik.
A futtatasi kornyezet: Pentium 233, 128 MB RAM, Win98. 
A CPU hasznalat meg a program kilovese utan is 100%.

Ime a programreszlet:
   try
    IBDataBase1.Open;
    IBTransaction1.StartTransaction;
    LCID:=GetUserDefaultLCID;
    try
      ExcelApplication1.Connect;
    except
      MessageDlg('Az Excel valószínűleg nincs telepítve.', mtError, [mbOk], 0);
      Abort;
    end;
    Template:=EmptyParam;
    ExcelApplication1.Caption:='Excel export próba';
    ExcelApplication1.Workbooks.Add(Template,LCID);
    ExcelWorksheet1.ConnectTo(ExcelApplication1.ActiveWorkbook.Worksheets.Item[
3] as _WorkSheet);
    ExcelWorksheet1.Activate(LCID);
    ExcelApplication1.Range['A1','A1'].Value := 'ID';
    ExcelApplication1.Range['B1','B1'].Value := 'NÉV';
    ExcelApplication1.Range['A1','B1'].Font.Bold:=True;
    IBDataSet1.Open;
     while not (IBDataSet1.Eof) and (i<SpinEdit1.Value) do begin
       oszl1:='A'+IntToStr(i);
       oszl2:='B'+IntToStr(i);
       ExcelApplication1.Range[oszl1,oszl1].Value:=IBDataSet1ID.AsInteger;
       ExcelApplication1.Range[oszl2,oszl2].Value:=IBDataSet1CIKKNEV0.AsString;
       Inc(i);
       Label3.Caption:=IntToStr(i);
       IBDataSet1.Next;
       Application.ProcessMessages;
     end;
    ExcelApplication1.Visible[LCID]:=true;
   finally
    IBDataSet1.Close;
    IBTransaction1.Rollback;
    IBDataBase1.Close;
   end;

Ha valaki mar talalkozott ezzel a problemaval, legyen szives ossza meg velem a 
tapasztalatait.
Elore is koszonom.

Udv.:
                                                Andras
+ - Progress help (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok+ACE-

Ha van vkinek tapasztalata a Progress adatbaziskezelorol, es nehany sorban 
elmondana mi ez, nagyon jo lenne. xBase-ekben vagyok jartas, ahhoz kepest.
Arrol van szo, hogy par napon belul el kene dontenem, hogy elvallalok-e egy 
melot Progress-ben, de meg epp csak hallottam rola.
URL sajna nem eleg, most nincs web eleresem.

Koszi+ACEAIQAh-
-banjo-
+ - Re: Nyelvek & Szezon fazom (mind) VÁLASZ  Feladó: (cikkei)

On 16 Dec 99 at 12:11,  wrote:

> > Ugye most viccelsz? Wirth professzornak nem csupan a Pascal nyelvet
> > erdemes megismerni, hanem mas kitalacioit is...
> Ugye te is csak viccelsz?? Esetleg valami csiga'nyi konkretumot tudnal
> egyszer irni, mert en ebbol maris rengeteget tanultam. Nem igaz, hogy
> senki n m tud egy jo URL-t, most nem azt akarom, hogy mas jatszon az
> altavistaval, de ha valaki mar tud egyet meddig tart megosztani a
> tobbiekkel. bye...

Szoval en nem akarok elfogult lenni, de ha a fent jelzett mail-iro
atnezne a HIXCODER archivumat, akkor lathatna, hogy nem sok ember van
 (Marosi Istvan)-on kivul, aki ennyi konkretummal
segitene a lista tagjait.

Elnezest a szemelyes velemenyert.

Fuge
+ - Re: Floppy vezerlo direkt programozasa (mind) VÁLASZ  Feladó: (cikkei)

hi

egy regi Fidonetes gyujtemenyben talaltam ezt a rovid peldaprogramot
remelem hasznat veszed

udv
Zoli

;---------------- HWREAD.ASM --------------
; Demonstration for accessing the floppy controller directly
; Reads the bootsector and displays the ID string (at ofs 3)
; Original Read_Sector from a Dutch book, converted to English
; and (re?)commented by Arne de Bruijn, 1994, PD

; Locks up if no disk is inserted in drive 0 (usually A:), until you insert
; a disk
; With HD drives, you need first to switch to the proper density
; with port 3f7h, 0 = 3"5 HD, 1 = 5"25 HD, 2 = DD (not implented, just
; start with a value, if error try another, just like the BIOS does
; (that's why floppies are so slow after you insert a new disk))
; or just do a dir or something and the BIOS does it all for you
; I've tried to detect a diskchange with a read from port 3f7h, bit 7,
; but after I detected a change, I can't reset the bit (but the BIOS does).
; Anybody?

_DATA   segment word public 'DATA'
buffer  db 512 dup(?)           ; Buffer for the sector
status_buf db 7 dup(?)          ; Buffer for the returned status registers
_DATA   ends

_TEXT   segment word public 'CODE'
        assume ds:_DATA,es:nothing,cs:_TEXT,ss:_STACK
TestHWR proc far
        mov ax,_Data
        mov ds,ax
        call Read_Sector
        mov dx,3+offset buffer ; Address of ID string in bootsector
        mov cx,8               ; 8 Chars
        mov bx,1               ; To STDOUT
        mov ah,40h             ; Write
        int 21h
        mov ax,4c00h           ; Terminate w/exitcode 0
        int 21h
TestHWR endp

Read_Sector proc near
        sti                    ; Enable interrupts
        mov dx,3f2h            ; Address of Digital Output Register
        mov al,28 ;00011100    ; bit 1,0: 00 - Drive 0
                               ; bit 2: FDC enable, bit 3: DMA/IO enable
                               ; bit 4: Motor drive 0 enable
        out dx,al              ; To Digital Output Register
        call Wait_Motor        ; Let moter spin up for 1/2 sec.
        mov ah,15              ; Command 15: Seek
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,0               ; Parameter 1: Drive no
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,0               ; Parameter 2: Track no
        call Send_FDC_Cmd      ; Send to FDC
        call Wait_Int          ; Wait for IRQ 6 from FDC (cmd completed)
        mov cx,1750            ; Wait to settle head
Wait_Head: loop Wait_Head      ; A bit CPU dependant, but it works :-)
        mov al,46h             ; Init DMA
        out 12,al              ; ??
        out 11,al              ; ??
        mov ax,offset buffer   ; Offset of buffer to AX
        mov bx,ds              ; Segment of buffer to BX
        mov cl,4               ; Divide by 16
        rol bx,cl              ; To isolate 64K block (page) of buffer
        mov dl,bl
        and dl,0fh             ; Page no in DL
        and bl,0f0h            ; Add remainder of segment (*16)
        add ax,bx              ; To offset
        adc dl,0               ; And adjust DL if neccesary
        out 4,al               ; Store lo byte of offset
        mov al,ah              ; Hi byte to AL
        out 4,al               ; Store hi byte of offset
        mov al,dl              ; Page no to DL
        out 81h,al             ; Store page no of buffer
        mov ax,511             ; Number of bytes to receive, less 1
        out 5,al               ; Store lo byte of count
        mov al,ah              ; Hi byte to AL
        out 5,al               ; Store hi byte of count
        mov al,2               ; ??
        out 10,al              ; ??

        mov ax,351eh           ; Get address of INT 1Eh, a pointer to
        int 21h                ; a table with some information for the FDC

        mov ah,66h             ; Command 6: Read data
                               ; bit 5: Skip deleted data adress mark
                               ; bit 6: MFM mode
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,0               ; Parameter 1: bit 1,0: drive no. (00=drive 0)
                               ;              bit 2: Head (1=Head 1)
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,0               ; Parameter 2: Track no.
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,0               ; Parameter 3: Head no. (again????)
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,1               ; Parameter 4: Starting sector no.
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,es:[bx+3]       ; Parameter 5: Sector size (get from table)
                               ;  (0 - User spec., 1 - 256, 2 - 512, 3 - 1024)
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,es:[bx+4]       ; Parameter 6: Last sector in track (from table)
                               ;  (Actuelly I think this is the last sector to
                               ;   read, so for 1 sector starting at sec. 1
                               ;   it's 1, but I don't know for sure)
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,es:[bx+5]       ; Parameter 7: Gap length (from table)
        call Send_FDC_Cmd      ; Send to FDC
        mov ah,es:[bx+6]       ; Parameter 8: Data length (if par5 is 0)
        call Send_FDC_Cmd      ; Send to FDC
        call Wait_Int          ; Wait until completed

        mov cx,7               ; Command 6 has 7 status registers
        lea bx,status_buf      ; Read them into Status_Buf
Next:   call Get_FDC_Stat      ; Get one status register
        mov [bx],al            ; Store in buffer
        inc bx                 ; To next position in buffer
        loop Next              ; Do all the 7
        mov dx,3f2h            ; Address of Digital Ouput Register
        mov al,12              ; bit 2: FDC enable, bit 3: DMA/IO enable
                               ; (to turn motor off)
        out dx,al              ; Store to Digital Ouput Register
        ret                    ; Return to caller
Read_Sector endp

Wait_Int proc near             ; Wait for command completed interrupt
        mov ax,40h             ; (IRQ 6), by polling a bit in the BIOS data
        mov es,ax              ; area, at 40h:3eh (bit 7)
                               ; This bit is set by the BIOS IRQ 6 (INT 14)
                               ; handler
Again:  test byte ptr es:[3eh],80h ; Test for the bit
        jz Again               ; Not set? Try again (no timeout check!)
        and byte ptr es:[3eh],7fh  ; And switch off for later use
        ret                    ; Return to caller
Wait_Int endp

Send_FDC_Cmd proc near         ; Send a byte (in AH) to 3F5h
                               ; and check for ready
        mov dx,3f4h            ; Address of main status register
TryAgain:
        in al,dx               ; Get a byte from main status register
        test al,80h            ; Test bit 7: Data reg ready for IO from/to CPU
        jz TryAgain            ; Not set? Try again (no timeout check!)
        inc dx                 ; Set to cmd output address
        mov al,ah              ; Get byte to send
        out dx,al              ; And send to FDC
        ret                    ; Return to caller
Send_FDC_Cmd endp

Get_FDC_Stat proc near
        mov dx,3f4h            ; Address of main status register
TryAg2: in al,dx               ; Get a byte from main status register
        test al,80h            ; Test bit 7: Data reg ready for IO from/to
CPU
        jz TryAg2              ; Not set? Try again (no timeout check!)
        inc dx                 ; Set to cmd status address
        in al,dx               ; And get the status byte
        ret                    ; Return to caller
Get_FDC_Stat endp

Wait_Motor proc near           ; Wait a 1/2 sec to let the motor spin up
        mov ax,40h             ; Wait for 9 changes from day-time counter
        mov es,ax              ; In BIOS data area at 40h:6eh
        mov cx,9               ; 18.2 times per sec incremented, 9 -> 1/2 sec
NewTick:mov dx,es:[6ch]        ; Get actual tick count (only lo word)
ChkTick:cmp es:[6ch],dx        ; Compare
        je ChkTick             ; Not changed? Try again
        loop NewTick           ; Wait for next tick
        ret                    ; Return to caller
Wait_Motor endp

_TEXT   ends

_STACK  segment word stack 'STACK'
        db 256 dup(?)
_STACK  ends

        end TestHWR
+ - Visual c++ 6.0 dokumentacio (mind) VÁLASZ  Feladó: (cikkei)

Háj mindenkinek

Egy kis ideje térdepeltem neki a Visual C++ -nak és keresek hozzá doksit magyar
ul. Tudom, hogy a hivatalosan megvett szoftal van dokumentáció, de egy baj van 
vele. Egy vak hangot nem tudok angolul.  :-(
 Tehát ha valaki tud valahol kérem irja meg a  címre

Köszi  BERTA(Big):-))  
------------------------------
K Free E-mail http://www.k.ro/
by KappaNet http://www.kappa.ro/

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS