Aktív témák

  • LuFee

    csendes tag

    DE! Találtam egy százszor meg ezerszer egyszerübb megoldást!

    Találtam egy progit (Paralell Port Monitor) , amivel ki lehet kapcsolni a párhuzamos portot ( de lényegében nem azt kapcsolja ki, hanem az ellenőrzést és a visszajelzést)
    Tehát a programocska (pár kbyte) kikapcsolja az XP rejtő-algoritmusát. és így gond nélkül lehet hagyományos módon címezni (port[$378] := xxxx) :DD

    Még tesztelem a dolgot, hogy minden állapotban működik-e, de az első benyomások pozitívak!

    Ha valakit érdekel:
    http://www.geekhideout.com/parmon.shtml

  • LuFee

    csendes tag

    válasz BlackWoOd #3 üzenetére

    Meggondolandó... jo ötletnek nézem, bár nem vagyok biztos a teljes működésben...

  • LuFee

    csendes tag

    válasz GBX #2 üzenetére

    Köszi! Sokat segített, hogy mondtad, hogy puffereli az XP az adatokat...

  • BlackWoOd

    aktív tag

    válasz LuFee #1 üzenetére

    Alternatív megoldás és op.rendszer független:

    Kihasználhatod, hogy már a DOS-ban is volt a párhuzamos porthoz rendelve egy virtuális file, ennek neve rendre LPT1, LPT2, stb.

    Ha turbópacalban ezt a file-nevet assign-olod egy file-hoz, akkor a beleírt/kiolvasott adatok az oprendszer vezénylésével a megfelelő portokon landolnak illetve onnan kerülnek olvasásra.

    pl. DOS-ban egy ilyen simán müxik mátrixnyomtatókkal: echo Hello World! > LPT1

    Pascalban meg így csinálhatsz, pl.:

    uses crt;
    var
    __f : file;
    __i : char;
    begin
    __assign(f,'lpt1');
    __rewrite(f,1);
    __for i:='a' to 'z' do
    ____blockwrite(f,i,1);
    __i:=chr(27);
    __blockwrite(f,i,1);
    __close(f);
    end.

    Text file-okkal 100% hogy működik, de gondolom a rendszernek mindegy.

  • GBX

    aktív tag

    válasz LuFee #1 üzenetére

    Szerintem a pascal távolról sem ismeri a DLL-t, mert adll fogalom vmikor a windows os -el jött és a pascal nem volt erre gyárilag felkészitve, ezen kivül ha találnál is dll kezelo unit-ot akkor is max a 16 bites változatot tudnád használni és a winxp köztudottan 32 bites mig a ME még örökölt vmit a 95 félig 16 bites mivoltából.

    sajnos nem tudom, hogy miért 2x futásra muxik a progi. (Lehet hogy az XP buffereli? a parancsokat és csak azok után küldi ki a nyomtatóra az adatot ha eléggé nagy csomag összegyült vagy jött egy másik program igénye (jelen esetben ugyanazon program 2.dik inditása) a nyomtató felé, tehát azt próbáld ki, hogy jóval többet küldesz el a nyomtatónak. )

  • LuFee

    csendes tag

    Szóval...

    Olyan problémám van, amibe úgy gondolom nem csak én akadtam bele...
    Pascal alól Párhuzamos port vezérlése XP alatt...
    Elég húzós.
    1.) Az XP ''elrejti'' szerencsétlen felhasználó elől az LPT-t!
    2.) Hogy közvetlenül lehessen kiirni, ahhoz először meg kell keresni!

    A problémám azzal lenne, hogy bár találtam egy PAS programot, ami megtalálja XP alatt a port címét (ált. 0x03bc), még mindig maradt gondom:
    kiiratni bináris formában ugyebár a ''port'' paranccsal lehet: ( port[$3bc]:=adat; )
    Egyszerü, egylépéses értékadó program egyszer lefut... Semmi.
    Egyszerü, egylépéses értékadó program mégegyszer lefut... Akkor hajlando megjeleníteni a kiadott értéket!. DE mér' másodszor??? :F

    Beszélnek hogy io.dll igy, meg ugy... VB-be biztos jo. Nekem pascalba kéne, mert a gyakszivezető abban hajlando csak programoztatni... és mindig Milleniumos lemezről bootoltat be, hogy lássuk az lpt-t 378-as címen... :D

    Ha valaki tudja, hogy Pascalban hogy lehet DLL-t meghívni, az szóljon hozzá!!!
    Az is, aki konyít a témához, és keveredett már hasonló helyzetbe!

    Előre is Thx!

Aktív témák

Hirdetés