Hollosi Information eXchange /HIX/
HIX CODER 1309
Copyright (C) HIX
2001-10-02
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 vc++ vagy vb (mind)  67 sor     (cikkei)
2 MySQL tarolteljarasok (mind)  14 sor     (cikkei)
3 Az igazi programozo (mind)  188 sor     (cikkei)

+ - vc++ vagy vb (mind) VÁLASZ  Feladó: (cikkei)

Szeretnek csinalni egy progit VB-ben, vagy VC++-ban egy progit ami elindit
egy masikat es figyeli, hogy mukodik-e meg vagy sem, ha nem akkor az elso
kilep. Sikerult csinaljak valamit, de sajnos csak a windowsos progikat
latja, a dosost nem, pedig nekem pont ez kellene. Itt van amit csinaltam,
remelem tudjatok, hogy hol a hiba es segitetek. Koszi szepen.

dim clickIndit as Boolean
Dim IsRunning As Boolean
Private Const GW_HWNDNEXT = 2
Private Declare Function GetWindowText Lib "user32" Alias _
"GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, _
ByVal cch As Long) As Long

Private Declare Function GetWindowTextLength Lib "user32" _
  Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long

Private Declare Function GetWindow Lib "user32" _
  (ByVal hwnd As Long, ByVal wCmd As Long) _
  As Long

Private Declare Function GetActiveWindow Lib "user32" _
  () As Long
'EZZEL A GOMBAL INDITOM AZ ILLETO DOS-os progit
Private Sub cmdIndit_Click()
clickIndit = True
retval = Shell("c:\antivir\f-prot", 1)
'Timer2.Enabled = True
'Timer1.Enabled = True
End Sub

'ittaz a fungveny  ami teszteli, hogy fut-e meg vagy sem, amit majd egy  egy
timernel hasznalok

Public Function TaskExists(ByVal strCheckTask As String, _
   ByVal ExactMatch As Boolean) As Boolean

Dim CurrWnd As Long, Length As Long
Dim TaskName As String
strCheckTask = UCase(strCheckTask)
TaskExists = False
CurrWnd = GetActiveWindow()

Do While (CurrWnd <> 0)
  Length = GetWindowTextLength(CurrWnd)
  TaskName = Space$(Length + 1)
  Length = GetWindowText(CurrWnd, TaskName, Length + 1)
  TaskName = UCase(Left$(TaskName, Len(TaskName) - 1))

  If (Length > 0) Then
    If ExactMatch = True Then
      If (TaskName = strCheckTask) Then
        TaskExists = True
        Exit Do
      End If
    Else
      If InStr(TaskName, strCheckTask) Then
        TaskExists = True
        Exit Do
      End If
    End If
  End If
  CurrWnd = GetWindow(CurrWnd, GW_HWNDNEXT)
  DoEvents
Loop
End Function

Elore is koszi szepen a segitsegeket, es legyetek szivesek maganba is!!!
+ - MySQL tarolteljarasok (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

A segítségeteket szeretném kérni, egy kisebb problémával
kapcsolatban!

MySQL alatt, hogyan lehet tárolt eljárásokat (Trigger és Procedure) írni
és futattni? Már átnéztem a helpfile-okat, példákat és dokumentációkat, de
csak annyit írnak, hogy tudja a MySQL. Se példa se más információ nincsen
róla. Részletes leírásokat kérnék és ha lehet akkor ne csak a CODER-be
hanem az e-mail címemre.

Előre is köszönöm a segítségeteket!

Üdvözlettel: ifj. Cseh Ferenc!
+ - Az igazi programozo (mind) VÁLASZ  Feladó: (cikkei)

Az igazi programozo

Sziasztok !!!
Ezt az irast egy lemezujsagbol masoltam. Tudom, hogy egy kicsit (nagyon)
regi es hosszu de nekem tetszik, es kulonben is alapmu. :)

Az igazi programozo nem Pascalban dolgozik !

1 BEVEZETES


A regi szep idokben (a szamitogepek "aranykoraban") konnyu volt
megkulonboztetni az "igazi ferfiakat" a "hatulgombolosoktol". Akkor azok
voltak az igazi ferfiak, akik megertettek a programozast, a hatulgombolosok
pedig azok, akik nem. Az igazi programozo ilyeneket szolt, hogy "DO
I=1,10", meg hogy "ABEND" (igazandibol szintiszta nagybetukkel beszeltek),
a tobbiek pedig azt mondtak, hogy "a szamitogep tul bonyolult nekem", meg
hogy "nem tudok kapcsolatot teremteni a szamitogeppel - nekem tulsagosan
szemelytelen". (Amint ezt az irodalomban lathatjuk, az igazi ferfiak
nem felnek attol, hogy nem tudnak kapcsolatot teremteni, es attol sem,
hogy elszemelytelenednek.
Csakhogy, mint mindig, valtoznak az idok. Manapsag olyan vilaggal kell
szembeneznunk, amelyben oreg nenikeknek szamitogep van a tuzhelyukben es
12 eves flipperezo kolykok golyozhatjak ki a kadbol az igazi ferfiakat.
Manapsag akarkinek lehet sajat kulonbejaratu hazi szamitogepe. Az igazi
programozot az a veszely fenyegeti, hogy kihal, es ZX80-nal felszerelt
kozepiskolasok fogjak helyettesiteni.
Tiszta sor, hogy ki kell mutatnunk, mi a kulonbseg a tipikus flipperezo
kozepiskolas es az igazi programozo kozott. Ha a kulonbseget tisztaztuk, ez
mutat majd valamit a fiataloknak, valamit, amire torekedhetnek, egy
apuka-kepet, ha ugy tetszik. Ugyancsak segitunk megmagyarazni az igazi
programozo fonokeinek, hogy hiba lenne, ha a vezetesuk alatt allo igazi
programozokat 12 eves flipper ocsikkel helyettesitenek (jelentos
bermegtakaritast erve el ezaltal).

2 NYELVEK


Legszembetunobb kulonbseg a plebs es az igazi programozo kozott a hasznalt
nyelv. Az igazi programozo FORTRANban dolgozik. A hatulgombolos Pascalban.
Egyszer Niklaus Wirth-et, a Pascal megalkotojat megkerdeztek, hogy hivjak,
amire azt valaszolta, hogy szereti az aritmetikai IF-eket - erdekesebb
toluk a program. Adodik, hogy Niklaus Wirth hatulgombolos, az igazi
programozo csak egyfele parameteratadasi modot hasznal, megpedig a cim
szerintit, amint ezt az OS/370 G es H FORTRAN fordito teszi. Az igazi
programozonak nincs szuksege ilyen absztrakt fogalmakra ahhoz, hagy
elvegezze a munkajat - tokeletesen erzi magat egy kartyalyukasztoval, egy
FORTRAN forditoval, meg egy sorrel. Ugyhogy jegyezzuk meg a kovetkezoket:
1. Az igazi programozo a szimbolum manipulaciot FORTRANban csinalja.
2. Az igazi programozo a szovegkezelest FORTRANban csinalja.
3. Az igazi programozo a gepidoelszamolast - mar ha megcsinalja egyaltalan
- FORTRANban csinalja.
4. Az igazi programozo a mesterseges intelligencia programokat FORTRANban
csinalja.
Amit nem lehet megcsinalni FORTRANban, azt meg lehet csinalni assemblyben.
Amit nem lehet megcsinalni assemblyben, azt nem lehet megcsinalni.

3 STRUKTURALT PROGRAMOZAS


A szamitogeptudomany tudosai az elmult ot evben kitalaltak a strukturalt
programozast. Azt allitjak, hogy a programokat konnyebb megerteni, ha
bizonyos specialis nyelvi konstrukciokat es technikakat hasznalunk, bar nem
ertenek teljesen egyet abban, hogy melyeket. Allaspontjukat rendszerint
olyan peldakkal illusztraljak, amelyek elfernek valami zugfolyoirat egy
lapjan - tisztan latszik, hogy ez nem eleg ahhoz, hogy meggyozzon barkit
is. Mikor kijartam az iskolat, azt hittem, hogy en vagyok a legtokosebb.
A adminisztratornak sose jut eszebe, hogy is hivjak ezen a heten a PRINT
parancsot - kulonbozo nyelven, es 1000 soros programokat irtam, amelyek
MUKODTEK!. (Igazan!!.) Aztan a negybetus eletben az elso feladatom az volt,
hogy ertsek meg egy 200000 soros FORTRAN programot, es gyorsitsam fel a
ketszeresere. Akarmelyik igazi programozo meg fogja mondani neked, hogy az
egesz vilag strukturalt programozasa sem fog segiteni ilyen feladat
megoldasakor, csak az, ha VALOBAN tehetseges vagy. Nehany megfigyeles az
igazi programozorol, es a strukturalt programozasrol:
1. Az igazi programozo nem fel a GOTO-tol.
2. Az igazi programozo ot lap hosszu DO ciklust ir anelkul, hogy
belezavarodna.
3. Az igazi programozo szereti az aritmetikai IF-eket - erdekesebb toluk a
program.
4. Az igazi programozo onmodosito kodot ir - kulonosen akkor, ha meg bir
vele sporolni 20 nanoszekundumot egy kis ciklus kozepen.
5. Mivel a FORTRANban nincs strukturalt REPEAT, UNTIL vagy CASE utasitas,
az igazi programozonak nem kell ugyelnie arra, hogy ne hasznalja ezeket.
(De persze szukseg eseten szimulalhatja oket GOTO-val.)
Az adatstrukturaknak is sok figyelmet szentelnek ujabban, bizonyos korokben
egyre nepszerubbek az absztrakt adattipusok, pointerek, listak, stringek.
Wirth (a fent emlitett hatulgombolos) kepes volt megirni egy egesz konyvet
errol, amiben azt mondja, hagy a programot nem akarhogy kell megirni,
hanem az adatstrukturakra kell epiteni. Viszont amint ezt minden igazi
programozo tudja, az egyetlen hasznalhato adatstruktura a tomb. Stringek,
listak, strukturak, halmazok: ezek mind a tomb specialis esetei, es
ugyanugy is kezelhetjuk oket, anelkul, hogy a programozasi nyelvunket
tulbonyolitanank veluk. A legrosszabb mindamellett ezekben az
adatstrukturakban az, hogy raadasul kulon deklaralni is kell oket, pedig az
igazi programozasi nyelvekben, amint azt mindannyian tudjuk, implicit
tipusdefinicio van a (6 betus) valtozonev elso karaktere alapjan.

4 OPERACIOS RENDSZEREK


Milyen operacios rendszert hasznal egy igazi programozo? CP/M-et? Isten
ments, a CP/M igazabol egy jatekszer operacios rendszer, csak anyokak es
iskolaskolykok ertik meg es hasznaljak.
A UNIX sokkal komplikaltabb - az atlagos UNIX buheratornak sose jut eszebe,
hogy is hivjak ezen a heten a PRINT parancsot - de ha belejovunk, kiderul,
hogy a UNIX egy reklamozott videojatek. Az emberek nem csinalnak komoly
munkakat UNIX alatt - vicceket kuldozgetnek szerte a vilagba az UUCP
halozaton, meg kalandjatekokat irnak.
Nem, az igazi programozo termeszetesen OS/370-et hasznal. Az igazi
programozo csak eloveszi a JCL kezikonyvet, es maris megtalalja (es meg is
erti!) az IJK305I uzenet leirasat. Az igazi programozo JCL-t tud irni
anelkul, hogy egyaltalan kinyitna a kezikonyvet. Az igazan dogos programozo
hexa szamologep nelkul talalja meg a hat megabyteos dumpban a hibat. (A
sajat szememmel lattam!)
Az OS igazan figyelemremelto operacios rendszer. Tobb napos munkat lehet
tonkretenni egyetlen rossz helyre rakott szokozzel, ugyhogy az eberseg, az
kivanatos. A rendszerhez hozzaferes tuti eszkoze a kartyalyukaszto.
Nemelyek ugyan azt allitjak, hogy az OS/370 alatt idoosztasos rendszer is
van, de gondos vizsgalat utan arra a kovetkeztetesre jutottam, hogy ez
tevedes.

5 ESZKOZOK


Milyen eszkozoket hasznal az igazi programozo? Elmeletileg az igazi
programozo a mernoki pultrol is bebillenyuzheti a programjait. Hajdanaban,
mikor a szamitogepeknek meg voltak mernoki pultjaik. Annakidejen a memoria
meg memoria volt, es nem felejtett el mindent, mikor az aramot
kikapcsoltak. Manapsag vagy elfelejti a dolgokat amikor nem kene, vagy
olyasmire is emlekszik, amit jobb lett volna elfelejteni. A legenda szerint
Seymour CRAY, a CRAY I es II szuperszamitogepek tervezoje (meg a legtobb
CDC gepe) a CDC 7600 elso operacios rendszeret a mernoki pultrol potyogte
be, amikor a gepet eloszor bekapcsoltak. Folosleges mondanunk, hogy Seymour
Cray termeszetesen igazi programozo.
Kedvenc igazi programozom a Texas Instruments egyik rendszerprogramozoja.
Az egyik nap tavolsagi hivast kapott egy usertol, akinek fejreallt az
operacios rendszere egy fontos munka mentesenek a kozepen. Jim telefonon
keresztul megjavitotta a kart, lemez i/o utasitasokat iratva be a userrel a
mernoki pultrol, aztan hexaban kijavitotta a rendszertablazatokat, a
regisztereket meg telefonon olvastak neki. Erkolcsi tanulsag: bar az igazi
programozo szerszamkeszleteben van egy lyukaszto es egy sornyomtato,
szukseg eseten meg bir lenni egy telefonnal meg egy mernoki pulttal is.
Nemely cegeknel a szovegszerkesztes tobbe nem ugy nez ki, hogy tiz mernok
all sorba egy 029-es lyukasztohoz. Igazandibol abban az epuletben, ahol en
dolgozom, nincs is lyukaszto. Az igazi programozo ilyen helyzetben
szovegszerkesztokkel dolgozik. A legtobb rendszerben tobbfele
szovegszerkeszto van, es az igazi programozonak gondosan ki kell
valasztania azt, amelyik a legjobban illik az egyenisegehez. Sokan ugy
gondoljak, hogy a vilagon a legjobb szovegszerkesztoket a Xerox
tartalmazza. Sajnalatos modon nincs olyan igazi programozo, aki olyan gepet
hasznalt volna, ahol az operacios rendszert Smalltalknak hivjak, es
termeszetesen olyan sem, aki az eger farkat rangatna.
Nemely dolgot ezekbol a Xerox editorokbol megcsinaltak olyan gepen is, ahol
az operacios rendszernek rendes neve van. Ilyen az EMACS es a VI. A gond
ezekkel az editorokkal az, hogy az igazi programozo szerint az "azt kapod
amit latsz" elv eppen olyan hibas az editoroknal, mint a noknel. Nem, az
igazi programozo az "ezt akartad, hat nesze" editort szereti - bonyolultat,
titokzatosat, veszelyeset. TECO-t, peldanak okaert.
Megfigyeltek, hogy egy TECO parancssorozat joval erzekenyebb a vonal
zajara, mint az olvashatobb szoveg. Az egyik izgalmas jatek amit a
TECO-val jatszani lehet, hogy beirjuk a nevunket parancsnak, aztan
megprobaljuk kitalalni, mit csinal. Gyakorlatilag barmely gepelesi hiba
valoszinuleg tonkreteszi a programot, vagy rosszabb esetben finom,
misztikus hibakat helyez egy mar mukodo szubrutinba.
Ebbol kifolyolag az igazi programozok kerulik egy majdnem mukodo program
editalasat - ugy gondoljak, hogy egyszerubb belenyulni a binaris kodba a
SUPERZAP programmal (vagy ennek megfelelojevel a nem IBM gepeken). Ez a
recept annyira jo, hogy az IBM gepeken sok mukodo programnak mar nincs is
koze az eredeti forraskodhoz. Sokszor az eredeti forras mar nincs is meg.
Most mikor egy ilyen programba bele kell nyulni, a fonok
nem tehet mast, minthogy hiv egy igazi programozot. Nincs olyan
hatulgombolos strukturalt programozo, akinek egyaltalan fogalma lenne
arrol, hol is kell kezdeni. Ezt hivjak "biztositott munkahelynek".
Nehany olyan szerszam, amit az igazi programozo nem hasznal:
1. FORTRAN preprocesszorok, mint a MOTRAN es a RATFOR. Gyermekke tesznek.
Lasd a fenti megjegyzeseket a strukturalt programozasrol.
2. Forrasnyelvi debuggerek - az igazi programozo TUD dumpot olvasni.
3. Indextulcsordulast jelzo forditok. Tonkreteszik a kreativitast, az
EQUIVALENCE izgalmasabb hasznalatat, es lehetetlenne teszik a
rendszerterulet negativ indexekkel modositasat.
4. Forraskod nyilvantarto rendszerek. Az igazi programozo a forraskodot
zart szekrenyben tartja, mert nyilvanvalo, hogy a tulajdonos nem hagyhatja
orizetlenul szanaszejjel ertekes programjait.

Folytatas a kovetkezo levelben (lentebb), ha a moderator is ugy akarja. :)
Udv,
FeFi

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