Jump to content
HinTeriK

[Duvida] Sobre array's

Recommended Posts

HinTeriK

Boas, estou a fazer um programa em que no form2 o utilizador vai introduzir dados. Através de uma classe estática vou passar os valores do form2 para o form1. No form1 criei um botão a dizer "Guardar dados", e queria armazenar os valores através de array's. A minha duvida é, qual é a melhor maneira de criar os array's, para que na segunda vez que o utilizador clique nesse botão os dados não sejam criados de novo?

Agradeço pela ajuda.

Edited by HinTeriK

Share this post


Link to post
Share on other sites
pwseo

Não, não é C (falou de classes estáticas acima). Possivelmente C++, ou outra linguagem com suporte para OO e provavelmente IDEs conhecidos com suporte para design de GUIs.

Share this post


Link to post
Share on other sites
HappyHippyHippo

Isto é C?

ou anda a brincar com o GTK ou cardinal é difícil de escrever (aposto)

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
thoga31

Ui ui ui... Desde quando?!

Até temos quadros diferentes para as linguagens!

Tens C, C++ e C#, todas diferentes, apesar de primas.

Tópico movido para a secção de C#.


Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

Não tens de pedir desculpa.

Mas pensa lá: se a linguagem é C#, então não há-de ser a mesma coisa que C... no próprio Visual Studio oferecem-te duas linguagens "C-qualquer-coisa": C# e C++ :P

Quanto à tua questão, qual é o código que estás a usar?


Knowledge is free!

Share this post


Link to post
Share on other sites
HinTeriK

eu queria fazer assim

private void btnGuardar_Click(object sender, EventArgs e)
    {
        if (Valores_Array.Contador == 0)
        {
            string[] Array_Codigo = new string[10];
            string[] Array_Nome = new string[10];
            int[] Array_Idade = new int[10];
            string[] Array_Morada = new string[10];
            decimal[] Array_Salario = new decimal[10];
            decimal[] Array_Horas = new decimal[10];
            Valores_Array.Contador++;
        }
        Array_Codigo[Valores_Array.Contador] = Valores_Array.Codigo;
        Array_Nome[Valores_Array.Contador] = Valores_Array.Nome;
        Array_Idade[Valores_Array.Contador] = Valores_Array.Idade;
        Array_Morada[Valores_Array.Contador] = Valores_Array.Morada;
        Array_Salario[Valores_Array.Contador] = Valores_Array.Salario;
        Array_Horas[Valores_Array.Contador] = Valores_Array.Horas;
        Valores_Array.Contador++;
    }

Mas não consigo pois diz que não encontra os array's

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites
thoga31

Pois claro que não encontra. Eles são declarados dentro do if. Quando sais de lá, sais do scope do if, pelo que as variáveis são destruídas.

É por estas e por outras que estranho que raros livros falem acerca do conceito de scope.


Knowledge is free!

Share this post


Link to post
Share on other sites
HinTeriK

ah, ok...então onde é que devo criar os array's? Pois, se tirar o if, sempre que carrega-se no botão iria criar array's.

Edited by HinTeriK

Share this post


Link to post
Share on other sites
thoga31

Os arrays têm de ficar num local acessível por todos os procedimentos que necessitarem de lhes aceder.


Knowledge is free!

Share this post


Link to post
Share on other sites
HinTeriK

exacto, eu já tentei varias formas, mas ainda não consegui resolver...nas classes estáticas já tentei criar um método para criar os arrays, mas não dá e tambem já pensei em utilizar como parametro, mas acho que não é possivel

Share this post


Link to post
Share on other sites
thoga31

Essas variáveis são necessárias em todo o programa? Se sim, coloca-as como globais. Caso contrário, não te sei indicar o melhor sítio uma vez que não conheço a aplicação e qual o propósito desses arrays.


Knowledge is free!

Share this post


Link to post
Share on other sites
nelsonr

Se as variaveis são para ser acessiveis dentro do form, cria no inicio.

Exemplo:

public partial class Form1 : Form
{
string[] Array_Codigo = new string[10];
 string[] Array_Nome = new string[10];
 int[] Array_Idade = new int[10];
 string[] Array_Morada = new string[10];
 decimal[] Array_Salario = new decimal[10];
 decimal[] Array_Horas = new decimal[10];

public Form1()
{
	InitializeComponent();
}

// ...

Share this post


Link to post
Share on other sites
munkbozz

Também podes criar uma nova classe e no teu form inicializas uma nova referência à classe.

<Nome da classe> <nome do novo objecto>;
Class1 nova_classe1;

void a()
{
   nova_classe1.Array_Codigo // ...
}

Edited by thoga31
Correcção GeSHi

Share this post


Link to post
Share on other sites
emanuelx

na form 1 podes passar as variaveis utilizando variaveis publicas que podem ser acedidas através de qualquer form

public string[] array_codigo = new string[10];

Edited by emanuelx

com calma e sem stresses

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.