Keresés

Aktív témák

  • 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. )

Aktív témák