Tema: Re: C# programistai, padėkite !
Autorius: Shadowed
Data: 2020-12-01 08:03:44
Lawrence ačiū, su pavyzdžiu ir paaiškinimu tikrai aiškiau. Apie tuos 
lokalius kontamuosius, kurie galioja tik savo programoje skaičiau. Bet 
kažkaip ten susukta buvo, kad jeigu Public tai lyg prie kintamojo galima 
prieiti iš kitų programėlių. Dėl static irgi skaičiau, nors taip iki galo ir 
nusupratau kam jis skirtas. Bet čia kaip visada, geriausias mokymasis iš 
patirties - darai, bandai, nesigauna, taisai, nu ir finale lieka ir žinios 
ir kažkas naudingo.

O va ir pavyzduką pasibandžiau ir viskas veikia, plius dar ir aiškiau 
pasidarė, dėl to ir dėkoju, ant kelio užvedei, o toliau kapstysiuos. Bet jei 
užstrigsiu vėl paklausiu :)



"Lawrence Jamieson"  parašė naujienų news:rq3e60$2be$1@news.omnitel.net...

2020-11-30 15:38, Shadowed rašė:
> Ne, kažkaip nesuveikia, arba neperpratau principo...
> Bandau supaprastintą varianta:
> private void Form1_Load(object sender, EventArgs e)
> {
>      string bandymukas = "Tuščia..";
>      tbox_General_Data.Text = bandymukas;
>      USBManager.Bandymas();
>      tbox_General_Data.Text = bandymukas;
> }
> ir...
> public class USBManager
> {
>      public static string Bandymas()
>      {
>          string bandymukas = "Nu, gavosi ?";
>          return bandymukas;
>      }
> }
> Mano logika tokia – užkraunant formą vygdo tą, kas parašyta Form1_Load, 
> t.y. padarau, kad bandymukas yra Tusčia, parasau į textboxą kad Tuscia. 
> Tada prasuku programėlę Bandymas iš UABManager, kurioje tas bandymukas 
> tampa “Nu gavosi ?: klausimu, tada jis per return turėtų vėl įkristi 
> viršun ir būti atspausdintas į textboxą. Bet padaro tik Tuscia, o daugiau 
> ne...

Hmm, tu ką nors esi girdėjęs apie variable scope? Trumpai: kintamasis
galioja toje srityje, kurioje deklaruotas. tavo tie kintemieji
bandymukas yra du skirtingi kintamieji, vienas Form1_Load, kitas
USBManager.Bandymas.

private void Form1_Load(object sender, EventArgs e)
{
       string bandymukas = "Tuščia..";
       tbox_General_Data.Text = bandymukas;
       bandymukas = USBManager.Bandymas();
       tbox_General_Data.Text = bandymukas;
}

public class USBManager
{
       public static string Bandymas()
       {
           string bandymukas = "Nu, gavosi ?";
           return bandymukas;
       }
}


Nu bet aplamai tai viskas čia turi buti taip:

private void Form1_Load(object sender, EventArgs e)
{
       tbox_General_Data.Text = USBManager.Bandymas();
}

public class USBManager
{
       public static string Bandymas()
       {
           return "Nu, gavosi ?";
       }
}