Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Figyi, te csak írsz, vagy olvasol is? Fentebb már ötleteltünk. Megírni meg biztos nem fogja helyetted senki.

    Amikor hazaértem elolvastam az üzeneteket csak így kaja előtt nem volt teljesen világos.
    Aztán láttam Cpt. Flint (#2375) üzenetében nem értette a kérdésem ezért gyorsan válaszoltam neki.
    Most hogy kicsit agyaltam rajta már készen is van a program.
    Köszönöm a válaszotokat a te(martonx) első variációdat használtam fel.
    Flint megoldása is jó, de az "és"-ek és az a plusz 5 változó már bőven elfér :) .
    Így már bármilyen keresést el tudok a programmal végezni és sokkal-sokkal rövidebb lett így a programkód mint ahogy azt az elején kiagyaltam.
    Kösz még 1x :R

  • egyelőre nem egészen érthető számomra a feladat.
    a txt fájl valami módon szabályosan tagolt? (rekordok és mezők vannak benne voltaképpen?)
    azon belül a feltétel 1-6 bizonyos "mezők" (a sor egyes szakaszai) értékére vonatkozna?
    mi kell eredményként? a sor száma? a feltételnek megfelelő szövegrész? a teljes sor? csak az a sor érdekes, ami minden feltételnek megfelel, vagy minden sor számít, ami legalább egy feltételnek megfelel?

    sokat segítene, ha kicsit konkrétabban leírnád a feladatot.

    A txt úgy működik mint egy csv fájl. A benne lévő adatok ";" vannak elválasztva.
    Minden loggolni kívánt eseménynél a txt-ben egy egész sornyi adat tárolódik le.
    Bocsánat mindenkinek a nem egyértelmű leírásért. Megpróbálom beszúrni a programkódomat.
    Jelen pillanatban a kiolvasásom így van megírva (AutoIt):

    ;### 2db feltétel esetén:
    If $keres_berendezes=1 And $keres_eszkoz=1 And $keres_DB=0 And $keres_hiba=0 And $keres_kezd_ido=0 And $keres_nyugta_ido=0 Then
    GUICtrlCreateListViewItem($count1&"|"&$count2&"|"&$count3&"|"&$count4&"|"&$count5&"|"&$count6, $listview)
    $talalatok=$talalatok+1
    EndIf

    If $keres_berendezes=1 And $keres_eszkoz=0 And $keres_DB=0 And $keres_hiba=1 And $keres_kezd_ido=0 And $keres_nyugta_ido=0 Then
    GUICtrlCreateListViewItem($count1&"|"&$count2&"|"&$count3&"|"&$count4&"|"&$count5&"|"&$count6, $listview)
    $talalatok=$talalatok+1
    EndIf
    .
    .
    ;### 3db feltétel esetén:

    If $keres_berendezes=1 And $keres_eszkoz=1 And $keres_DB=1 And $keres_hiba=0 And $keres_kezd_ido=0 And $keres_nyugta_ido=0 Then
    GUICtrlCreateListViewItem($count1&"|"&$count2&"|"&$count3&"|"&$count4&"|"&$count5&"|"&$count6, $listview)
    $talalatok=$talalatok+1
    EndIf
    .
    .
    .

    Ebből az IF ciklusból kellene számításaim szerint 720db de eddig csak 3 feltételig írtam meg ami kb. 21db.
    Ezt le lehetne egyszerűsíteni?

  • Helló!

    Egy "txt" fájlokat soronként átnéző programon dolgozom. Hobbiként tanulom a programozást. A problémámat már részben megoldottam, de szeretném egyszerűsíteni mert gondolom van rá sokkal egyszerűbb módszer is mint amit én kiagyaltam rá.
    Az én kereső módszerem:

    Feltétel1 Feltétel2 Feltétel3 Feltétel4 Feltétel5 Feltétel6

    Ha valaki csak 1db feltételt ír be akkor egyszerű a dolog a program kilistázza azokat a sorokat ahol az adott helyen megtalálta a keresési feltétellel megeggyezőt.
    DE ha 2, 3, 4, 5 vagy esetleg 6 db feltétellel egyszerre keres akkor az én kódom szerint így kellene leírnom:

    HA Feltétel1=”XXX” ÉS Feltétel2=”XXX” ÉS Feltétel3=”XXX” ÉS….. AKKOR
    KIÍRATÁS Feltétel1=”XXX” ÉS Feltétel2=”XXX” ÉS Feltétel3=”XXX” ÉS…

    A lényeg hogy nincs kedvem leírni mind az 6*5*4*3*2*1 azaz 720 (HA...) variációt. Nincs valami egyszerűbb kereső procesz. Vagy esetleg valami jobb logikai módszer erre. Elég lenne néhány parancs tipp is a többit kigooglézom.

    Előre is köszi :R
    Üdv, Feri.

Új hozzászólás Aktív témák