mikrocontroller.net

Forum: PC-Programmierung Bitte um Programmtest


Autor: Pascal H. (pase-h)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, da ich in letzter zeit immer mehr programmiere, möchte ich euch 
um einen kurzen Programmtest bitten.
Das Programm ist im Anhang, und der Code unten abgebildet.

Doch ein paar Fragen habe ich noch:
1. Wie kann ich das Programm in meinen eigenen Ordner installieren (z.B: 
C:\meinprog\prog1) bzw. wie kann ich den Pfad bei der Installation 
individuell ändern?
2. Wie kann ich das Programm im Startmenü in meinen eigenen Ordner 
installieren (z.B: Start:Alle Programme:Meinprog)
3. Was bzw. wie könnte ich den Code noch optimieren?

Mfg Pase-h
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Passwort
{
    public partial class Form1 : Form
    {
        public int Länge = 4;
        public string pw;
        public string Content = "1234567890";
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Länge = 4;
        }

        private void button1_Click(object sender, EventArgs e)
        {

                string ret = string.Empty;
                System.Text.StringBuilder SB = new System.Text.StringBuilder();

                Random rnd = new Random();
                for (int i = 0; i < Länge; i++)
                    pw = SB.Append(Content[rnd.Next(Content.Length)]).ToString();
                txtPW.Text = pw;
         



        }

        private void txtPW_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.Clipboard.SetDataObject(txtPW.Text.ToString(), true);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Länge = 4;
            button3.BackColor = System.Drawing.Color.LimeGreen;
            button4.BackColor = System.Drawing.Color.Red;
            button5.BackColor = System.Drawing.Color.Red;
            Content = "1234567890";
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Länge = 6;
            button3.BackColor = System.Drawing.Color.Red;
            button4.BackColor = System.Drawing.Color.LimeGreen;
            button5.BackColor = System.Drawing.Color.Red;
            Content = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw";
        }

        private void button5_Click(object sender, EventArgs e)
        {
            Länge = 10;
            button3.BackColor = System.Drawing.Color.Red;
            button4.BackColor = System.Drawing.Color.Red;
            button5.BackColor = System.Drawing.Color.LimeGreen;
            Content = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw!öäüÖÄÜß\"§$%&/()=?*#-";
        }
    }
}

Autor: Lvizz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann dir nur wärmstens den Nullsoft Intaller empfehlen. Etwas 
Einarbeitung ist zwar erforderlich, dafür aber Kostenlos und in allen 
Belangen flexibel.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So weit ich weiß kann man aus einem C# Programm ja eine 
Installationsdatei machen. Oder täusche ich mich? Dann kannst du das 
Programm im Startmenü anzeigen lassen und dort hin installieren wo du 
willst.

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
inno setup
+ inno setup tools

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Optimieren:

3 Radiobutton verwenden und wenn man auf den button1 klickt, abfragen 
welcher Radiobutton gedrückt ist.

Das kann man z.b. so machen:
void GetChecked()
{
   for(int i = 0; i < Controls.Count; i++)
      if(typeof(Controls[i]) == typeof(Radiobutton))
         if(((RadioButton) Controls[i]).Checked)
            return true;
}

string[] Content = new string[] {"abc", "123abc", "123abc!$§"};

private void button1_Click(object sender, EventArgs e)
{
    int c = GetChecked();
    //->Content[c];
}
Ich würde für die Länge entweder eine TextBox oder eine NumericDing 
nehmen.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Samuel K. schrieb:
> Zum Optimieren:
> [...]
> [c]
> void GetChecked()
> {
>    for(int i = 0; i < Controls.Count; i++)
>       if(typeof(Controls[i]) == typeof(Radiobutton))
>          if(((RadioButton) Controls[i]).Checked)
>             return true;
> }

Lernt man das heute so?
Ist aber ein hübsches Beispiel, wie man lahme Programme flickschustert 
:-)

Keine Ahnung, wie das bei Microsoft ist, aber bei QT plaziert man alle 
Optionen in eine QButtonGroup und kann sofort über 
QButtonGroup::checkedId den gerade angewählten Knopf erfragen.

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven P. schrieb:

> Keine Ahnung, wie das bei Microsoft ist, aber bei QT plaziert man alle
> Optionen in eine QButtonGroup und kann sofort über
> QButtonGroup::checkedId den gerade angewählten Knopf erfragen.

Das ist in Swing und bei Microsoft nicht anderst.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pascal Haury schrieb:
> Hallo, da ich in letzter zeit immer mehr programmiere, möchte ich euch
> um einen kurzen Programmtest bitten.
> Das Programm ist im Anhang, und der Code unten abgebildet.
>
> Doch ein paar Fragen habe ich noch:
> 1. Wie kann ich das Programm in meinen eigenen Ordner installieren (z.B:
> C:\meinprog\prog1) bzw. wie kann ich den Pfad bei der Installation
> individuell ändern?
> 2. Wie kann ich das Programm im Startmenü in meinen eigenen Ordner
> installieren (z.B: Start:Alle Programme:Meinprog)

Wenn man die anderen genannten Möglichkeiten nicht nutzen möchte:
Im VS im Menü auf Project -> Properties -> Publish. Optionen einstellen 
und den Publish Wizard aufrufen. Raus kommt ein ClickOnce-Installer, der 
bei vorher passend gewählten Optionen auch lokal ausgeführt werden kann 
und das Programm ganz normal installiert (Startmenü, Deinstallation über 
Systemsteuerung)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.