Hollosi Information eXchange /HIX/
HIX CODER 1171
Copyright (C) HIX
2001-05-09
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: shell parancsok C ben (mind)  12 sor     (cikkei)
2 Re: Par egyszeru Java kerdes 2 (mind)  63 sor     (cikkei)
3 Re: Borland C++ 5.00 & TASM (mind)  30 sor     (cikkei)
4 AW:Modem (mind)  137 sor     (cikkei)
5 AW: Borland C++ 5.00 & TASM (mind)  34 sor     (cikkei)
6 VESA-s DOS progi NT4 alatt, auto-fullscren PIF nelkul? (mind)  11 sor     (cikkei)
7 Re: Pascal gond (mind)  19 sor     (cikkei)
8 Re: shell parancsok C ben (mind)  8 sor     (cikkei)
9 Re: *** HIX CODER *** #1169 (mind)  34 sor     (cikkei)

+ - Re: shell parancsok C ben (mind) VÁLASZ  Feladó: (cikkei)

A > cikkben azt irtad, hogy:
>
> Sziasztok!
> Most kezdtem a C programozast tanulni, es lenne egy igen rovid kerdesem:
> Linux alatt hogy lehet C programbol a Shellnek (nalam a BASH)
> parancsokat adni?

system("program");

Bovebb doksi a man-ban es az info-ban van (info libc).

				Bye,NAR
+ - Re: Par egyszeru Java kerdes 2 (mind) VÁLASZ  Feladó: (cikkei)

Az rtin szerint  ) azt irta, hogy:
>
> Sziasztok!
>
>   Eloszor is koszonom NAR-nak es Peternek a valaszokat.
>   A valaszokat alkalmazvan leredukaltam a kerdeseim szamat es egy
>   ujat is kitalaltam.
>
>   1)
>   Nem birok egy egyszeru modalis messagebox megjelenitesenek a problemajaval.
>   A kovetkezo koddal sikerul megjelenitenem egy ugyefogyott
>   messageboxot, de se a merete, se a helyzete, se a modalitasa nem
>   megfelelo. Egy titlebar nagysagu gizdasag lesz belole, amit meg be
>   sem lehet csukni, mert nem csinal semmit a close gombra.
>
>   Frame frame = new Frame();
>
>   Dialog dialog = new Dialog(frame, "not supported", true);
>
>   dialog.add(new Button("asd"));
>   dialog.setModal(true);
>   dialog.setTitle("cim");
>   dialog.show();
>
>   Kezdek megorulni, mert nem hiszem el, hogy a Java nem tamogatja az
>   messageboxok egyszeru megjeleniteset.

Talaltam egy regebbi kodomban egy ilyen osztalyt:
import java.awt.*;
import java.awt.event.*;

public class HibaAblakClass extends Dialog implements ActionListener {
        Button OK=new Button("OK");
        Label Hiba=new Label("Hiba!");
        Panel OKPanel=new Panel();
        Dimension Meret;

        public HibaAblakClass(Frame Szulo) {
                super(Szulo,true);
                OK.addActionListener(this);
                OKPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
                OKPanel.add(OK);
                add("South",OKPanel);
                add("Center",Hiba);
                Meret=Hiba.getPreferredSize();
                }

        public void UjHiba(String HibaUzenet) {
                Hiba.setText(HibaUzenet);
                setSize(HibaUzenet.length()*15,100);
                show();
                }

        public void actionPerformed(ActionEvent e) {
                if (e.getSource()==OK) {
                        setVisible(false);
                        }
                }
        }

Ha jol emlekszem, ez mukodott nekem, de most nem tudom kiprobalni.

				Bye,NAR
+ - Re: Borland C++ 5.00 & TASM (mind) VÁLASZ  Feladó: (cikkei)

> Kedves Coderek!
> Van egy C programom (TestAsm.cpp), amibol egy assemmbler (un2_konv.asm)
> rutint szeretnek meghivni:
>
> TestAsm.cpp:
>  ....
> extern far void UN2_KONV(void * ,void * );
>  ....
>    UN2_KONV(& pMvi[0],&Modulregister[0]);
>  ....stb.
>
> un2_konv.asm:
> 	NAME	UN2_KONV
> 	PUBLIC	UN2_KONV
 ...nyissz...

Már régen csináltam ilyesmit, de 2 dolog jutott eszembe:

1) nem szabad C++ name mangling-ot engedélyezni ilyen esetben
extern "C" far void UN2_KONV(void * ,void * );

2) Általában minden C, C++ fordító alapból egy aláhúzásjelet
tesz a szimbólumok neve elé, ezt kell emulálni:
 	NAME	UN2_KONV
 	PUBLIC	_UN2_KONV

Valaki szóljon, ha hülyeséget írtam...
-- 
Józsi

+ - AW:Modem (mind) VÁLASZ  Feladó: (cikkei)

Visual C++ alatt en igy hasznalom:

COM_error_fl = ckOpenCOM( (int)ComPort, iBaudrate,
                                iByteSize,CSParity, dStopbits);
 ....
    #ifdef USROBOTICS
   Sleep(400);
   send_pure("AT\r\n" );// Baudrate von Modem synchonisieren
   Sleep(400);
   send_pure("ate0\n\r"); //Echo OFF
   Sleep(400);
   send_pure("at&b1\n\r"); // Fix baudrate
   Sleep(400);
   send_pure("at&K1\n\r"); // activate komprimiering
   Sleep(100);
   send_pure("atX1\n\r"); // No dialtone deaktiv
   Sleep(100);
   #endif
utana johet a tenyleges hivas
  send_pure("ATD>123457\r\n");

/******************************************
COM-Port belallitas programbol:
******************************************/
int ComPort = 2; // =1:COM1 ;  =2: COM2
static HANDLE       hComP;          // COM-Port Haendler
static DCB          CommDCB;        // DCB fuer Kommunikationsport
static COMMTIMEOUTS ct;             // Timeouteinstellungen fuer die
COM-SS

bool  ckOpenCOM(int nPort,int iBaudrate, int iByteSize,CString CSParity,
double fStopbits)
   {
   char szComPort[16];

   sprintf(szComPort, "com%d", nPort);
   if ((hComP = CreateFile(  szComPort,
                             GENERIC_READ|GENERIC_WRITE,
                             0,
                             NULL,
                             OPEN_EXISTING,
                             0,
                             NULL)) == INVALID_HANDLE_VALUE)
      {
      return false;
      // General error
      }
       ct.ReadIntervalTimeout          = MAXDWORD; //=4294967295
       ct.ReadTotalTimeoutMultiplier   = MAXDWORD;
       ct.ReadTotalTimeoutConstant     = BWT_TIMEOUT;
       ct.WriteTotalTimeoutMultiplier  = 0;
       ct.WriteTotalTimeoutConstant    = 0;
       SetCommTimeouts(hComP, &ct);
   if (!GetCommState(hComP, &CommDCB))
      {
      return false;
      // General error
      }
   char * cParity;
        cParity= (char *) LPCTSTR(CSParity);
   switch (cParity[0])
      {
      case 'N':
         CommDCB.Parity      = NOPARITY;
         break;
      case 'E':
         CommDCB.Parity      = EVENPARITY;
         break;
      case 'O':
         CommDCB.Parity      = ODDPARITY;
         break;
      default:
         CommDCB.Parity      = EVENPARITY;
         break;
      }
   CommDCB.BaudRate    = iBaudrate ;// 2400;                          //
Speed //9600
   CommDCB.ByteSize    = iByteSize ;// 8;
// Databits
   switch ((int)(fStopbits*10))
      {
      case 10:
         CommDCB.StopBits    = ONESTOPBIT ;           // 1 Stopbit
         break;
      case 20:
         CommDCB.StopBits    = TWOSTOPBITS ;           // 2 Stopbit
         break;
      case 15:
         CommDCB.StopBits    = ONE5STOPBITS ;           // 1,5 Stopbit
         break;
      default:
         CommDCB.StopBits   = ONESTOPBIT ;           // 1 Stopbit
//TWOSTOPBITS
         break;
      }
   CommDCB.fParity     = FALSE;
   CommDCB.fBinary     = TRUE;                          // Binary Mode
(skip EOF check)

   // HW-Handshake
   CommDCB.fOutxDsrFlow= 0;                // DSR handshaking on output
   CommDCB.fDtrControl = DTR_CONTROL_ENABLE;
   CommDCB.fOutxCtsFlow= 0;
   CommDCB.fRtsControl = RTS_CONTROL_ENABLE;

   // SW-Handshake
   CommDCB.fOutX       = 0;                // Enable output X-ON/X-OFF
   CommDCB.fInX        = 0;                // Enable input X-ON/X-OFF
   CommDCB.fNull       = 0;                // Enable Null stripping
   if (!SetCommState(hComP, &CommDCB))
      {
      return false;
      // General error
      }
   return true;
   }


bool  ckSendCOM(uchar *txbuf, ushort txlen)
   {

   PurgeCom(hComPPURGE_TXABORT|
			PURGE_TXCLEAR|
			PURGE_RXABORT|
			PURGE_RXCLEAR);
   if (!WriteFile(hComP, txbuf, txlen, &dwWritten, NULL))
      {
      return false;
      }
   if ((DWORD)txlen != dwWritten)
      {
      return false;
      }
   return true;
   }

Udv, Tibor
+ - AW: Borland C++ 5.00 & TASM (mind) VÁLASZ  Feladó: (cikkei)

> > Kedves Coderek!
> > Van egy C programom (TestAsm.cpp), amibol egy assemmbler
> (un2_konv.asm)
> > rutint szeretnek meghivni:
> >
> > TestAsm.cpp:
> >  .... > extern far void UN2_KONV(void * ,void * );
> >  ....
> >    UN2_KONV(& pMvi[0],&Modulregister[0]);
> >  ....stb.
> >
> > un2_konv.asm:
> > 	NAME	UN2_KONV
> > 	PUBLIC	UN2_KONV
> ..nyissz...
>
> Már régen csináltam ilyesmit, de 2 dolog jutott eszembe:
>
> 1) nem szabad C++ name mangling-ot engedélyezni ilyen esetben
> extern "C" far void UN2_KONV(void * ,void * );
>
> 2) Általában minden C, C++ fordító alapból egy aláhúzásjelet
> tesz a szimbólumok neve elé, ezt kell emulálni:
>  	NAME	UN2_KONV
>  	PUBLIC	_UN2_KONV
>
> Valaki szóljon, ha hülyeséget írtam...
> --
> Józsi
> 
	[Becker Tibor ETR/ETE4]

	Mind a ket dolgot beleraktam, es igy mukodik mar,koszonom
	Udv Tibor
+ - VESA-s DOS progi NT4 alatt, auto-fullscren PIF nelkul? (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

 Az erdekelne, hogy egy most irodo DOS-os progi meg tudna-e mondani a
Windows NT4-nek, hogy ot teljes kepernyos console modban kell
inditani, mert hasznalja a VESA-t?

Jelenleg csak akkor megy a dolog, ha van mellette kezzel editalt PIF.
Esetleg a PIF-bol a full-screen modra vonatkozo infodarabka
belefordithato a .com (tiny model) formatumu progiba?

Koszonettel: Feher Tamas.
+ - Re: Pascal gond (mind) VÁLASZ  Feladó: (cikkei)

<2001. május 8. 20:58>
Yo!

>>> Korábban írtam egy egyszerű progit TP 7.0-ban, egy Pentium procin.
>>> Nemrég új gépet kaptam munkahelyemen (egy AMD K7 TB-öt), és a progim
>>> még induláskor "Division by zero" futási hibával elszáll.
>
> Ha jol emlexem a 200Mhz -nel gyorsabb processzoroknal jon elo ez a hiba, a
> crt unitban azthiszem tortenik egy nullaval valo osztas. Tobb megoldas is
> van ra, a legegyszerubb egy memoriarezidensen futo kis programocska ami

   Van meg egyszerubb megoldas is, pl. a GURU CD -ken allandoan rajta
szokott lenni a patch, ami egyreszt a regi crt -vel forditott
programokat patkolja, masreszt lecsereli a TP7 / BP7 crt -jet a
javitottra. Nem szukseges semmilyen rezidens progi.

/--- Greetz, Toth Peter / Petrus ------------[ICQ: 83284680]--\
HP: http://rpg.rulez.org/member/peterpg ----------- (05.07.)--|
\-- http://rpg.rulez.org/cu/ (Chaos Ultra Online) - (05.03.)--/
+ - Re: shell parancsok C ben (mind) VÁLASZ  Feladó: (cikkei)

On Wed, Apr 01, 1964 at 07:15:21AM +0000,  wrote:
> Most kezdtem a C programozast tanulni, es lenne egy igen rovid kerdesem:
> Linux alatt hogy lehet C programbol a Shellnek (nalam a BASH)
> parancsokat adni?

system()

_tgz
+ - Re: *** HIX CODER *** #1169 (mind) VÁLASZ  Feladó: (cikkei)

On Wed, Apr 01, 1964 at 07:55:04AM +0000,  wrote:
> >En el tudtam volna kepzelni olyan agyament dolgot is, hogy minden
> >datagramra felepitunk es leepitunk kulon egy-egy TCP aramkort;
> >ertelme ugyan keves lenne, de mukodne.
>
> Tenyleg keves lenne az ertelme, mert akkor mar atkuldhetned egy db. TCP
> kapcsolaton az osszes datagrammot.

Jojo, csak peldakent irtam hogy nem lehetetlen; okos emberek az IETF-nel
lehet, hogy ki tudnanak talalni kis overheaddel jaro megoldast is az RDM-re.

> >az IPv6 meg ugyanazt csinalja ra mint a SOCK_STREAM-re.
>
> Ez viszont elegge gaz, mert ahogy a tablazatbol is lathattad, a TCP (azaz
> a socket stream IPv6-nál is szentem) nem tud elválasztójeleket kezelni.

Vagy lehet, hogy SOCK_STREAM-re is megtartja az uzenethatarokat
(habar nem volna megkovetelve). (Amit egyebkent nem nagyon hiszek
az protorol valo eddigi ismereteim alapjan)

> Egyebkent ez elegge gaz lenne, en inkabb valami megprobalnam kihasznalni
> az UDP es TCP ill IP csomagokba helyezheto extra headereket. Ide kene
> bevezetni plusszban egy hossz meg egy offszet mezot.

Van ennek egy marhanagy hatranya: nem tudod hordozhatoan
megoldani.

> Ahogy figyelem ma ekezet nelkuli napom van. Pedig semmi indok ra.

A magam reszerol tamogatom ezen allapot nem meghatarozott ideig
valo fennmaradasat (kiterjesztve egesz Mo-ra, node ne
almodozzunk).

_tgz

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