Hollosi Information eXchange /HIX/
HIX CODER 1297
Copyright (C) HIX
2001-09-19
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 grafius nyomtatas dosbol (mind)  26 sor     (cikkei)
2 winbase.h (mind)  10 sor     (cikkei)
3 WinGUI applak 1. resz (mind)  163 sor     (cikkei)
4 WinGUI applak 2. resz (mind)  181 sor     (cikkei)
5 Oracle fetch vacakol (mind)  19 sor     (cikkei)
6 miert nem talalja a dll-t? (mind)  9 sor     (cikkei)
7 Re: C++ forraskod ellenorzo (UNIX) (mind)  16 sor     (cikkei)
8 Re: C++ forraskod ellenorzo (UNIX) (mind)  13 sor     (cikkei)
9 visula c-t vagy borlandot? (mind)  7 sor     (cikkei)

+ - grafius nyomtatas dosbol (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok Coderek!

Grafikusan szeretnek nyomtatni DOS-bol.
(HP deskjet nyomtato c nyelv)
Ket megoldasi lehetoseget latok magam elott, de
mindkettovel vannak problemaim.
1. a nyomtatohoz kapott drivert probalom pocogtetni.
Sajnos errol semmi infot nem talaltam, meg annyit sem
hogy lehet-e egyaltalan ilyesmit csinalni, ill. a
driverek tudnak-e grafikusan nyomtatni.
2. a nyomtatonak en kuldom ki a vezerlojeleket, ill.
adatokat. Ezzel az a baj, hogy hianyos dokumentacio
mellett regi pascalos peldaprogramok alapjan
probalkoztam, de csak a papir bal oldalara tudok
nyomtatni, vagy nem lesz folyamatos a vonal.

Az elso megoldas jobb lenne kompatibilitas
szempontjabol, a masodik megoldasnal viszont legalabb
latom az alagut veget :).

Szoval informacio kellene HP DJ nyomtatokhoz.
Vezerlojelek, adatformatum, reszletes manual szoval
minden ami programozashoz kellhet.

Koszi
T
+ - winbase.h (mind) VÁLASZ  Feladó: (cikkei)

sziasztok!

felinstallaltam a borland c/c++ 5.0-t es a microsoft visual c++ 6.0-t. mindkett
ovel elofordul az, hogy ha egy programban hasznalnam a winbase.h-t (#include <w
inbase.h>), akkor forditaskor kapok ra egy rakas hibauzenetet (a fordito szerin
t ebben a file-ban valahol hianyzik egy ;).
van e file-oknak valahol valami letoltheto javitasa, vagy valami mast kell tenn
em?

koszi: alex
+ - WinGUI applak 1. resz (mind) VÁLASZ  Feladó: (cikkei)

Hi Coders!

Par szammal ezelott kertem egy windows "problema"
megoldast. 5let s egyebb nem leven im az en
"probalkozasom", ket reszletben.

1 resz.

<-=->

/* WINDOWS GUI ALAPPROGRAM  - WINAPPLAK */

/*

 Letrehozunk egy fix ablakot
 melyre rahuzunk (letrehozunk) egy bitmapot
 amit a memoriaba pl. 32 bitesen definialunk
 a bitbmapra rajzolva (amelyet egy egyszeru
 memoriamuvelette "degradalunk") a kep
 megjelenik a monitoron.
 Hurra.

*/

#include <windows.h>

// --- error codes ---
#define GERR_OK                        ((long)  0)
#define GERR_CREATE_CLASS              ((long) -1)
#define GERR_CREATE_WINDOW             ((long) -2)
#define GERR_DESTROY_WINDOW            ((long) -3)
#define GERR_DELETE_CLASS              ((long) -4)
#define GERR_CREATE_PALETTE            ((long) -6)
#define GERR_REALIZE_PALETTE           ((long) -7)
#define GERR_CREATE_DIBDC              ((long) -10)
#define GERR_CREATE_DIBSECTION         ((long) -11)
#define GERR_SELECT_DIB_OBJECT         ((long) -12)
#define GERR_GET_WINDOW_DC             ((long) -13)
#define GERR_RELEASE_WINDOW_DC         ((long) -14)
#define GERR_BLITTING                  ((long) -15)
#define GERR_RESTORE_DIB_OBJECT        ((long) -16)
#define GERR_DELETE_DIBSECTION         ((long) -17)
#define GERR_RESTORE_PALETTE           ((long) -18)
#define GERR_DELETE_PALETTE            ((long) -19)
#define GERR_DELETE_DIBDC              ((long) -20)
#define GERR_GFX_ALREADY_ACTIVE        ((long) -21)
#define GERR_INVALID_PIXELFORMAT       ((long) -22)
#define GERR_UNREGISTER_CLASS          ((long) -32)
#define GERR_SET_TOPMOST_WINDOW        ((long) -33)
#define GERR_FATAL_ERROR               ((long) -99)

// --- CreateAppWindow flags ---
#define CAW_EXCLUSIVE                  ((long) 1)
#define CAW_TOPMOST                    ((long) 2)

// --- Window states ---
#define WINS_MAXIMIZED                 ((long) 1)
#define WINS_MINIMIZED                 ((long) 2)
#define WINS_INACTIVE                  ((long) 3)

// long FAR PASCAL WndProc( HWND, WORD, WORD, LONG); //
Message handler prototype
long GFXMsgProc( HWND, WORD, WORD, LONG);
int CreateAppWindow (char *, int );

static char szAppName[] = "GUI_GFX_App";       //
Application name string
static char szAppCapt[] = "WinAppGFXWin9x";    // Capture
bar name string

DWORD winstate;               // Current state of the app
window
DWORD wintopmost;             // The Window's topmost flag
is set
DWORD HWSCRX, HWSCRY;
MSG msg; // message
HWND hWnd; // window handle
WNDCLASS WndClass; // window class struct
DWORD flag;
DWORD flags = CS_OWNDC | CS_VREDRAW | CS_HREDRAW;
HANDLE windc;

// long FAR PASCAL GFXMsgProc
long GFXMsgProc (HWND win, WORD msg, WORD wp, LONG lp )
{
 switch (msg)
 {
  case WM_MOUSEACTIVATE: { /* egermozgatasok */ }

  case WM_ACTIVATEAPP: // Aktiv az ablak
  {
   if (wp)
   {
    winstate = WINS_MAXIMIZED;
    if (wintopmost)
     SetWindowPos (win,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE);
   }
   else
   {
    if (winstate=WINS_MAXIMIZED) winstate = WINS_INACTIVE;
    if (wintopmost)
     SetWindowPos (win,HWND_BOTTOM,0,0,0,0,SWP_NOSIZE+SWP_NOMOVE+SWP_NOACTIVATE);
   }
  }

  case WM_PAINT:
  {
   int SCRX = GetSystemMetrics(SM_CXSCREEN);
   int SCRY = GetSystemMetrics(SM_CYSCREEN);
   // BitBlt(windc,0,0,SCRX,SCRY,dibdc,0,0,SRCCOPY);
  }

/*
  case WM_CHAR:
  {
   switch (wp)
   {
    case 27: /* ESC, kilep */
    {
     PostQuitMessage(0);
     return 0;
    }
   }

   return 0;
  }

  case WM_CLOSE :
  {
   return DefWindowProc(win,msg,wp,lp);
  }
*/

  case WM_DESTROY: /* leloheto ALT-F!-el */
  {
   PostQuitMessage(0);
  }

  default:
  {
   return DefWindowProc(win, msg, wp, lp);
  }
 }
}

int DestroyAppWindow(void) // Free Program Window and class(es)
{
 if (!ReleaseDC(hWnd, windc))
  { return (GERR_RELEASE_WINDOW_DC); }
/*
 if ( DestroyWindow(win))
  { return (GERR_DESTROY_WINDOW); }
 if (!DeleteAtom(ClassAtom))
  { return (GERR_DELETE_CLASS); }
 if (!UnregisterClass(szAppName, hInstance)
 { return (GERR_UNREGISTER_CLASS); }
*/
 return (GERR_OK);
}

<-=->

thx: XiX/PsychoMix
+ - WinGUI applak 2. resz (mind) VÁLASZ  Feladó: (cikkei)

Hi Coders!

2. resz

<-=->

/*-------------------*/
/*  Entry point of the WINDOWS program  */
/*-------------------*/
// int PASCAL WinMain
int WinMain
 (
  HANDLE hInstance,     // Instance handler
  HANDLE hPrevInstance, // Handler of previouse Instance
  LPSTR lpCmdLine,      // Command line arguments
  int nCmdShow          // Initial style
 )

{
 if ( !hPrevInstance )
 {
  memset(&WndClass, 0, sizeof(WNDCLASS));
  WndClass.style = flags;
  WndClass.lpfnWndProc = GFXMsgProc;
  WndClass.cbClsExtra = 0;
  WndClass.cbWndExtra = 0;
  WndClass.hInstance = hInstance;
  WndClass.hIcon = LoadIcon( NULL, IDI_APPLICATION);
  WndClass.hCursor = LoadCursor( NULL, IDC_ARROW);
  WndClass.hbrBackground = GetStockObject(WHITE_BRUSH); // 0
  WndClass.lpszMenuName =  NULL;
  WndClass.lpszClassName = szAppName;

  if ( ! RegisterClass( &WndClass ) ) { return (GERR_CREATE_CLASS); };
 }

 flag = WS_VISIBLE | WS_POPUP | WS_MAXIMIZE; // | WS_OVERLAPPED;

 HWSCRX = GetSystemMetrics(SM_CXSCREEN);
 HWSCRY = GetSystemMetrics(SM_CYSCREEN);

 /* Ide jon majd a sajat inicializalo fgv. */
/*
 initalize_mygui()
*/

 hWnd = CreateWindow
       (
        szAppName, szAppCapt,
        flag, 0, 0, HWSCRX, HWSCRY, /* teljes kepernyo */
        NULL,NULL, hInstance, NULL
       );

 if ( ! hWnd ) return (GERR_CREATE_WINDOW);

 windc = GetDC(hWnd);
 if (windc) return (GERR_GET_WINDOW_DC);

 wintopmost = FALSE;
 if ((flags && CAW_TOPMOST))
 {
  if (! SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE))
  { return (GERR_SET_TOPMOST_WINDOW); }
  wintopmost = TRUE;
 }
 winstate = WINS_MAXIMIZED;

 // retrun GRok

// A kepenyon megjeleno es melysegu bitmap letrehozasa
// most csak RGB565 es RGB8888
/*
int InitGraph
 (
  int resx, // Width  of screen
  int resy, // Height of screen
  int bitd  // Color depth in bits
 )
{

 if (!(bitd=16) || !(bitd=32)) { exit (GERR_INVALID_PIXELFORMAT); }
 if (!(dibbits)) { exit (GERR_GFX_ALREADY_ACTIVE); }

 scrx = resx;
 scry = resy;
 bpp  = bitd;

 dibdc = CreateCompatibleDC(0);
 if (dibdc=0) { exit (GERR_CREATE_DIBDC); }

 bitmap.biSize     = 1; // sizeof(BITMAPINFOHEADER);
 bitmap.biWidth    = resx;
 bitmap.biHeight   = -resy;
 bitmap.biPlanes   = 1;
 bitmap.biBitCount = bitd;

 switch (bitd)
 {
  case 16: { bitmap.biCompression = BI_BITFIELDS; } break;
  case 32: { bitmap.biCompression = BI_RGB; } break;
  default: { exit (GERR_FATAL_ERROR); }  break; // Ez mar a lehetetlen hataros
 }

 bitmap.biSizeImage = resx*resy * (bitd >> 8);
 bitmap.biXPelsPerMeter = 0;
 bitmap.biYPelsPerMeter = 0;
 bitmap.biClrUsed = 0;
 bitmap.biClrImportant = 0;

 switch (bitd)
 {
  case  16 :
  {
   r = 0;
   g = 0;
   b = 0;
  } break;
 case 32 : ; break;
 default : ; break;
 }

 dibhandle = CreateDIBSection(dibdc, bitmap, DIB_RGB_COLORS, dibbits, 0, 0);

 if (dibhandle = 0)
 {
  exit (GERR_CREATE_DIBSECTION);
 }

 hdib_orig = SelectObject(dibdc, dibhandle);

 if (hdib_orig = 0)
 {
  exit (GERR_SELECT_DIB_OBJECT);
 }

 return (GERR_OK);
}

*/

// ShowWindow(hWnd, nCmdShow);        // Show window

 UpdateWindow(hWnd);                // Call back WM_PAINT message

 while ( GetMessage( &msg, NULL, 0, 0) ) // messages
 {
  // if (PeekMessage(&msg,0,0,0,PM_REMOVE))
  {
   TranslateMessage(&msg);        // Transformation of virtual key codes
   DispatchMessage(&msg);         // Call back WINDOWS
  }
 }

/*
 // Teljes kepernyos grafika, memoriaban van a bitkep
 InitGraph(GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics (SM_CYSCREEN),16);

 // bitkepre rajzolunk
 for i:=0 to 639 do  // putpixel mar sajat.
  for j:=0 to 479 do putpixel(i,j,random(65535));

 // kirakjuk a monitorra
 blitimage(0,0,-1,-1);
*/
 // boszen unatkozunk
     sleep(15000);

/*
 // bitkep lelo, memoria felszabadit
 CLoseGraph;
*/

 // program kilo
 DestroyAppWindow;

 return (msg.wParam);               // ret val of PostQuitMessage
}

<-=->

thx: XiX/PsychoMix
+ - Oracle fetch vacakol (mind) VÁLASZ  Feladó: (cikkei)

Embedded SQL-hasznalok a programomban es a kovetkezo furcsa dolgot
tapasztaltam.
Ha egyszerre tobb rekordot fetch-elek (igy: EXEC SQL FOR :rowsToFetch FETCH
Cursor stb...), akkor 40 darabig minded ok, de ha nagyobb szamot adok meg
(pl 41-et), akkor a felolvasott 41 rekord utan ugy talalja, hogy a tablaban
nincs tobb rekord. Ha 68-nal nagyobb szamot (pl 69-et) adok meg, akkor
vedelmi hibaval leall a program (a dll hivasakor).
Az Oracle verziom: 8.0.5
kb 100 rekordot szeretnek felhozatni a klienssel 1 kupacban, hogy kissebb
legyen a keres-visszaigazolasbol adodo overhead.
Van otlete valakinek, hogy ilyenkor mi a teendo?

Ismer valaki Oracle-vel kapcsolatos levlistat?
Ki probalta mar valaki a 9-es Oracle? Mindent megtalalok bene ami a regiben
megvolt? Van otlete valakinek, hogy honnan szerezhetnem be az Oracle 9-et
(csak modemem van es igy kb 2 napig tartana a letoltes)

Elore is kosz a segitseget
Gabor
+ - miert nem talalja a dll-t? (mind) VÁLASZ  Feladó: (cikkei)

MSVC++ 6.0 ban a buid hibat jelez: error 2065 undeclared identifier! Pedig a
dll-ben használt fuggveny exportalva van a headerben
#ifdef __cplusplus
    extern "C" {
__declspec(dllimport) long pascal Fuggveny( .......);
 ....
}
"pascal" nelkul is! Mi a bibi? Pedig a dll ott van a Windows\System
konyvtarban. Talan a project/setup-ban kell valamit beallitani? Pal
+ - Re: C++ forraskod ellenorzo (UNIX) (mind) VÁLASZ  Feladó: (cikkei)

On 17 Sep 01, at 15:53,  wrote:

>   De lényegében a kérdés még mindig áll... olyan programkot keresek,
> amely olyan hibákat keres meg, amelyek nyilvánvaló elütés miatt vannak
> benne a kódban, és nem szól érte a fordító...

Keresgeltem kicsit a neten, lint szarmazekbol penzesek vannak,
amik c++-t is tudnak. Szoval ha van 1000 dollarod, akkor pl.
flexelint jo lesz. Az lclint-hez keszul egy C++ elotet, nem latszik,
hogy mikor lesz belole valami. Aztan itt:
http://directory.google.com/Top/Computers/Programming/
Languages/C%2B%2B/Tools/ alatt lattam egy CodeInspect nevut,
nem tudom milyen, de ingyenesnek tunik... unix valtozata viszont
nem latszik, hogy lenne.

István
+ - Re: C++ forraskod ellenorzo (UNIX) (mind) VÁLASZ  Feladó: (cikkei)

>[...]
>   De lényegében a kérdés még mindig áll... olyan programkot keresek,
> amely olyan hibákat keres meg, amelyek nyilvánvaló elütés miatt vannak
> benne a kódban, és nem szól érte a fordító...
IMHO ilyen program nyilvanvaloan nem letezhet, hiszen ahhoz, hogy ezt a
feladatot el tudja latni, pontosan ismernie kellene a program, sot, az egyes
eljarasok pontos funkciojat (ti. hogy adott bemenetekre milyen kimeneteket
kell(ene) generalnia). Erre pedig meg nagyon sokaig csak egy ember lesz
kepes... (A veszelyes, ill. "gyanus" szerkezetekre pedig mar maguk a
forditok felhivjak a figyelmet, tehat az alapszintu ellenorzes a modern
forditokban mar megvan.)

Gabor
+ - visula c-t vagy borlandot? (mind) VÁLASZ  Feladó: (cikkei)

Udv!

Mostanaban kezdtem a C++ nyelvet tanulni, konkretan Visaual
C-t, de nagyon mas
mint amit mondjuk a borland C++rol olvastam, melyik a
szabvanyos? Egyaltalan
letezik egyseges szabvanya?

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