Avatar billede spottie Nybegynder
26. juli 2006 - 00:58 Der er 9 kommentarer og
1 løsning

Vedr problem med tjek funktion?

Goddag eksperter

Efter at have siddet længe og gennemlæst mit kode stykke poster jeg det nu her til jer for at håbe på lidt hjælp, dette kode stykke nedenfor er indsat under en "Søg"-knap.

Koden:
if(sog_tb_text.TextLength <= finaltextlength && sog_cb_kriterie.Text != "" && sog_rb_igang.Checked == true || sog_rb_afslut.Checked == true)
{
//Koden herinde er ikke medtaget i spørgsmålet, da det ikke er nødvendigt.           
}
else
{
string fejltext = "";
               
fejltext += "Ret Følgende:\n\n\n";

if(sog_rb_igang.Checked == false && sog_rb_afslut.Checked == false)
{
fejltext += "Der er ikke markeret i \"Igang\" eller \"Afsluttet\" opgave\n\n";
}

if(sog_tb_text.TextLength > finaltextlength)
{
fejltext += "Der er over 250 tegn i \"Søgefeltet\"\n\n";
}

if(sog_cb_kriterie.Text == "")
{
fejltext += "Der er ikke markeret i \"Søgekriterie\"\n\n";
}

MessageBox.Show(fejltext, "Fejl",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}

Problemet er at jeg har 2 radiobuttons, men de reagere forskelligt.
Når jeg f.eks. prøver at markere igang-radiobutton men ikke vælger et søgekriterie så får jeg korrekt en fejl meddelse om at der ikke er valgt noget i søgekriterie.
Men hvis jeg markere afsluttet-radiobutton så virker det til den ikke tjekker på om der er markere noget i søgekriteriet og i hvert fald så søger den bare og kommer så med en Exception med fejl, men den burde jo også komme med fejlmeddelse når den anden gør.

Nogen der kan hjælpe håber jeg virkelig meget fordi det iritere mig grusomt og jeg har stirret mig blind p ådet så håber på lidt hjælp fra jer eksperter.

vh spottie
Avatar billede arne_v Ekspert
26. juli 2006 - 01:18 #1
jeg tror at du skal have sat nogle parentser i det if udstryk !
Avatar billede arne_v Ekspert
26. juli 2006 - 01:19 #2
PS:

sog_rb_igang.Checked == true

kan skrives som:

sog_rb_igang.Checked

og

sog_rb_igang.Checked == false

kan skrives som

!sog_rb_igang.Checked
Avatar billede spottie Nybegynder
26. juli 2006 - 09:49 #3
oki arne..kan du hjælpe med at vise hvor der skal være paranteser i mit if sætning?

spottie
Avatar billede md_craig Nybegynder
26. juli 2006 - 12:57 #4
Det kommer jo at på hvordan du vil have det... der er jo ikke mindre end 4 faktorer i den første...

Kunne gætte på at de sidste måske skal evalueres alene... den med ||...
Så giver det "3" udtryk...

A : ( sog_tb_text.TextLength <= finaltextlength ) : True / False ?
B : ( sog_cb_kriterie.Text != "" ) : True / False ?
C : ( sog_rb_igang.Checked ) : True / False ?
D : ( sog_rb_afslut.Checked ) : True / False ?

Her er nogle forskellige scenarier fra det opverstående:

  A          B            C          D
  False &&  False  &&  False  || False  = False
  False &&  False  && ( False  || False ) = False
( False &&  False  &&  False ) || False  = False
( False &&  False ) && ( False  || False ) = False
  False && ( False  &&  False  || False ) = False
----------------------------------------------------
  A          B            C          D
  False &&  False  &&  False  || True    = True
  False &&  False  && ( False  || True  ) = False
( False &&  False  &&  False ) || True    = True
( False &&  False ) && ( False  || True  ) = False
  False && ( False  &&  False  || True  ) = False
----------------------------------------------------
  A          B            C          D
  False &&  False  &&  True    || False  = False
  False &&  False  && ( True    || False ) = False
( False &&  False  &&  True  ) || False  = False
( False &&  False ) && ( True    || False ) = False
  False && ( False  &&  True    || False ) = False
----------------------------------------------------
  A          B            C          D
  False &&  False  &&  True    || True    = True
  False &&  False  && ( True    || True  ) = False
( False &&  False  &&  True  ) || True    = True
( False &&  False ) && ( True    || True  ) = False
  False && ( False  &&  True    || True  ) = False
----------------------------------------------------
  A          B            C          D
  False &&  True    &&  False  || False  = False
  False &&  True    && ( False  || False ) = False
( False &&  True    &&  False ) || False  = False
( False &&  True  ) && ( False  || False ) = False
  False && ( True    &&  False  || False ) = False
----------------------------------------------------
  A          B            C          D
  False &&  True    &&  False  || True    = True
  False &&  True    && ( False  || True  ) = False
( False &&  True    &&  False ) || True    = True
( False &&  True  ) && ( False  || True  ) = False
  False && ( True    &&  False  || True  ) = False
----------------------------------------------------
  A          B            C          D
  False &&  True    &&  True    || False  = False
  False &&  True    && ( True    || False ) = False
( False &&  True    &&  True  ) || False  = False
( False &&  True  ) && ( True    || False ) = False
  False && ( True    &&  True    || False ) = False
----------------------------------------------------
  A          B            C          D
  False &&  True    &&  True    || True    = True
  False &&  True    && ( True    || True  ) = False
( False &&  True    &&  True  ) || True    = True
( False &&  True  ) && ( True    || True  ) = False
  False && ( True    &&  True    || True  ) = False
----------------------------------------------------
  A          B            C          D
  True  &&  False  &&  False  || False  = False
  True  &&  False  && ( False  || False ) = False
( True  &&  False  &&  False ) || False  = False
( True  &&  False ) && ( False  || False ) = False
  True  && ( False  &&  False  || False ) = False
----------------------------------------------------
  A          B            C          D
  True  &&  False  &&  False  || True    = True
  True  &&  False  && ( False  || True  ) = False
( True  &&  False  &&  False ) || True    = True
( True  &&  False ) && ( False  || True  ) = False
  True  && ( False  &&  False  || True  ) = True
----------------------------------------------------
  A          B            C          D
  True  &&  False  &&  True    || False  = False
  True  &&  False  && ( True    || False ) = False
( True  &&  False  &&  True  ) || False  = False
( True  &&  False ) && ( True    || False ) = False
  True  && ( False  &&  True    || False ) = False
----------------------------------------------------
  A          B            C          D
  True  &&  False  &&  True    || True    = True
  True  &&  False  && ( True    || True  ) = False
( True  &&  False  &&  True  ) || True    = True
( True  &&  False ) && ( True    || True  ) = False
  True  && ( False  &&  True    || True  ) = True
----------------------------------------------------
  A          B            C          D
  True  &&  True    &&  False  || False  = False
  True  &&  True    && ( False  || False ) = False
( True  &&  True    &&  False ) || False  = False
( True  &&  True  ) && ( False  || False ) = False
  True  && ( True    &&  False  || False ) = False
----------------------------------------------------
  A          B            C          D
  True  &&  True    &&  False  || True    = True
  True  &&  True    && ( False  || True  ) = True
( True  &&  True    &&  False ) || True    = True
( True  &&  True  ) && ( False  || True  ) = True
  True  && ( True    &&  False  || True  ) = True
----------------------------------------------------
  A          B            C          D
  True  &&  True    &&  True    || False  = True
  True  &&  True    && ( True    || False ) = True
( True  &&  True    &&  True  ) || False  = True
( True  &&  True  ) && ( True    || False ) = True
  True  && ( True    &&  True    || False ) = True
----------------------------------------------------
  A          B            C          D
  True  &&  True    &&  True    || True    = True
  True  &&  True    && ( True    || True  ) = True
( True  &&  True    &&  True  ) || True    = True
( True  &&  True  ) && ( True    || True  ) = True
  True  && ( True    &&  True    || True  ) = True
----------------------------------------------------
Avatar billede arne_v Ekspert
26. juli 2006 - 13:34 #5
if(sog_tb_text.TextLength <= finaltextlength && sog_cb_kriterie.Text != "" && sog_rb_igang.Checked == true || sog_rb_afslut.Checked == true)

->

if((sog_tb_text.TextLength <= finaltextlength && sog_cb_kriterie.Text != "" && sog_rb_igang.Checked) || sog_rb_afslut.Checked)

var ihvertfald en mulighed

men det er jo kun dig som ved hvad det test skal gøre
Avatar billede md_craig Nybegynder
26. juli 2006 - 13:44 #6
Kig fx Specielt på disse ud fra det du siger

  True  &&  False  &&  False  || True    = True
  True  &&  False  && ( False  || True  ) = False
( True  &&  False  &&  False ) || True    = True
( True  &&  False ) && ( False  || True  ) = False
  True  && ( False  &&  False  || True  ) = True

Mon ikke du skal have fat i Scnarie 2 her?...
Altså at du sætter en () uden om dine sidste 2 evalueringer...

:

if( sog_tb_text.TextLength <= finaltextlength  &&  sog_cb_kriterie.Text != ""  &&  ( sog_rb_igang.Checked || sog_rb_afslut.Checked ))
Avatar billede md_craig Nybegynder
26. juli 2006 - 13:50 #7
Eller det ved jeg naturligvis ikke?...

Men som jeg umiddelbart ser det så skal følgende 3 ting være opfyldt:

A: sog_tb_text.TextLength <= finaltextlength
B: sog_cb_kriterie.Text må ikke være tom (sog_cb_kriterie.Text != "")
C: sog_rb_igang.Checked eller sog_rb_afslut.Checked skal være markeret (sog_rb_igang.Checked || sog_rb_afslut.Checked)

Er det korekt?

Som du kan se her, så uanset hvad de 3 første har, så hvis den sidste er True så giver det true...

False &&  False  &&  False  || True    = True
Avatar billede spottie Nybegynder
26. juli 2006 - 14:09 #8
tak for hjælpen til jer begge...fik det til at virke...

spottie
Avatar billede md_craig Nybegynder
26. juli 2006 - 18:42 #9
Hvad var så løsningen?
Avatar billede spottie Nybegynder
02. august 2006 - 18:53 #10
det var en lille fejl fra min side havd elige set jeg havde to tjek funktioner så den ene var overflødeig droppede den...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester