Laden...
J
JasonDelife myCSharp.de - Member
Schüler Anywhere in Worldwide BW ;) Dabei seit 19.06.2008 237 Beiträge
Benutzerbeschreibung

Forenbeiträge von JasonDelife Ingesamt 237 Beiträge

10.05.2009 - 13:09 Uhr

Auf CodeProject gibt es eine gute Komponente:
http://www.codeproject.com/KB/combobox/PickersLib.aspx

Es gibt vordefinierte Picker, aber man kann auch eigene erstellen.
Ich habe es schon benutzt und bin damit zufrieden.
Es ist allerdings nur zum nach unten aufklappen, so weit ich weiß.

Grüße, JasonDelife.

10.05.2009 - 10:25 Uhr

Probiere mal:


cp.CompilerOptions = "/target:winexe /platform:x86 /warn:0 /optimize+ /win32icon:\"" + iconFile + "\"";

Pfadangaben, die Ordner- und/oder Dateinamen mit Leerzeichen enthalten müssen bei der DOS-Konsole ja in Anführungszeichen stehen. Vllt. ist es hier ja auch so.

Grüße, JasonDelife.

06.05.2009 - 20:34 Uhr

Eine Konsolenanwendung bracuht ja wohl kein .NET Framework, oder?

Eine C#-Konsolenanwendung schon.

Es gibt aber Installer, die das erledigen.
Einen, den es auch als Freeware-Variante gibt, heißt "Advanced Installer".
http://www.advancedinstaller.com/
Kannst du ja mal schauen.

//Bisschen zu spät...
Grüße, JasonDelife.

04.05.2009 - 17:08 Uhr

private void Mainform_FormClosing(object sender, FormClosingEventArgs e) {
    if(conn.NotDisconnected != false) conn.Disconnect();
}

Anmerkung:
conn ist eine Instanz einer selbstprogrammierten Connection-Klasse,
vom gleichen Programmierer wie der Code.

Grüße, JasonDelife.

03.05.2009 - 18:09 Uhr

Du musst readThread als Klassenvariable definieren. Dann sieht das vllt so aus:


public class AsynchronousSerialPortThings {
 bool _continue = true;
 Thread readThread;
 SerialPort _serialPort;
 
 public void Open() { /* Wie gehabt */ }

 public void Read()
 {
  while (_continue)
  {
    // Read etc...: _serialPort.ReadLine();
  }
 }

 public void Close() {
  _continue = false; // Nächste Iteration verhindern
  readThread.Join(); // Auf Beendigung der laufendenden Iteration warten
  // Jetzt ist readThread beendet.
  _serialPort.Close(); // Serielle Schnittstelle schließen
 }

}

30.04.2009 - 19:14 Uhr

Du solltest das mit der Schleife lassen und in der Edit-TextBox das TextChanged-Ereignis abbonieren. Dort kannst du dann mit if prüfen, ob das letzte Zeichen ein NewLine ist und alles anpassen. (BTW: Hat die TextBox nicht Properties, die Zeile und Spalte des Cursors abfragen?).

ACHTUNG:


// Das ist KEIN Vergleich, sondern eine Zuweisung
// Entweder Tippfehler, oder du solltest mal ein C#-Grundlagenbuch lesen
if (itsNotepad.Text = newline) { /* ... */ }
// Es muss so sein (Also zwei '='):
if (itsNotepad.Text == newline) { /* ... */ }

Grüße, JasonDelife.

30.04.2009 - 19:09 Uhr

Kannst du das Objekt nicht serialisieren und dabei den OutputStream in einen CryptoStream einschließen?

28.04.2009 - 15:50 Uhr

Du könntest einen BackgroundWorker nehmen.
Statt while(true) dann while(!bgw.CancelationPending). Dann kannst du beim drücken des Buttons bgw.CancelAsync() aufrufen und schreiben "Wird beendet..." und im Ereignis bgw_RunWorkerCompleted dann schreiben "Pingen beendet.". So hast du nicht das Problem der PingException und kannst nebenbei die BeginInvoke-Aufrufe sparen.
Siehe: MSDN: Der BackgroundWorker

Grüße, JasonDelife.

26.04.2009 - 17:26 Uhr

v_u = Convert.ToInt32(s_t_u);
v_r1 = Convert.ToInt32(s_t_r1);
v_r2 = Convert.ToInt32(s_t_r2);
v_r3 = Convert.ToInt32(s_t_r3);

Ich gehe jetzt davon aus, das s_t_u und so TextBoxen auf einer Form sind.
Der Fehler: Du willst den Text in den TextBoxen in ints konvertieren, nicht die Textbox selbst. Es muss s_t_u.Text (usw.) heißen. Mit dem Property Text frägst du nämlich den Textinhalt der TextBox ab. Das sollte man aber wissen: [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

Zur ComboBox: Ich würde const strings oder ein readonly Array für die Inhalte anlegen, dann führen Vertipper nicht zu Fehlern.

Grüße, JasonDelife.

16.04.2009 - 20:05 Uhr

Das wurde auch schon im Forum diskutiert (-> Suche einfach mal).
Im Prinzip ist es egal.

Grüße, JasonDelife.

14.04.2009 - 17:45 Uhr

Wenn mich nicht alles täuscht kommt als String für das Script raus:


window.open('../TaskPreview/PreviewTask.aspx?TaskID='Irgendwas&LangID=EineSprache, null, width[.....]no );

Es müsste aber doch so sein:


window.open('../TaskPreview/PreviewTask.aspx?TaskID=Irgendwas&LangID=EineSprache', null, width[.....]no );

Also das ' erst am Ende der URL (nach strLngListComplete).

14.04.2009 - 17:39 Uhr

Ich hab mal die letzte Version von zommi gegen Int32.Parse laufen lassen.
zommi's MyParse war ca. 5.8mal schneller (MAX = 10.000.000).
Int32.Parse: 3,5s
MyParse: 0,6s
Wobei für 10 Mio. Iterationen sind 3,5s noch ok (klar 0,6s sind deutlich besser).

Hier mal der Testcode:


// Variablen
Stopwatch stpw = new Stopwatch();
TimeSpan int32Time;
TimeSpan customParseTime;
const int MAX = 10000000;
static readonly string[] numbers = new string[] { "123456789", "1024", "314159", "42", "777" };

// Testcode Int32.Parse
stpw.Start();
for (int i = 0; i < MAX; ++i) {
    Int32.Parse(numbers[i % 5]);
}
stpw.Stop();

int32Time = stpw.Elapsed;
stpw.Reset();

// Testcode MyParse
stpw.Start();
for (int i = 0; i < MAX; ++i) {
    MyParse(numbers[i % 5]);
}
stpw.Stop();

customParseTime = stpw.Elapsed;

Grüße, JasonDelife.

12.04.2009 - 20:49 Uhr

Das wollte ich euch nicht vorenthalten:
(Methodennamen geändert)


// CHANGE IN V2: Man soll statt DoSth jetzt lieber DoSth2 verwenden
if(false == true) obj.DoSth(...);
obj.DoSth2(...);

Grüße,
JasonDelife.

12.04.2009 - 19:31 Uhr

Environment.NewLine

leifert das Zeilenumbruchszeichen des Betriebssystems zurück (als String).

12.04.2009 - 19:29 Uhr

Hallo Community!

Es ist ja so, das der WinForms-Designer im Visual Studio ein absolutes Layout erstellt,
sprich die Positionen und die Größen alle in Pixeln angegeben sind.
Nun ist s aber so, das dieses Verhalten ja

  1. "dumm kommt", wenn der Nutzer das Fenster vergrößert und dann sowas wie im Anhang rauskommt
  2. in den meisten Fällen eher gewünscht ist, das alle Komponenten relativ zueinader ihre Größe behalten, aber trotzdem vergrößert oder verkleinert werden.

Das blöde ist, das ich schon viele GUI's so habe und es ein Haufen Arbeit wäre, das alles von Hand mit LayoutContainern und Anchor/Dock zu machen. Deshalb:
Gibt es in Visual Studio (eig. Visual C# Express) eine Option (oder ein externes Tool), die das automatisch erledigt? Außerdem würde mich mal interessieren, wie ihr das Design macht (privat, in der Firma macht das wahrsch. ein Designer).

(Wenns das falsche Forum ist, einfach verschieben -> Bin mir nicht sicher ob es passt)

Viele Grüße und frohe Ostern,
JasonDelife.

12.04.2009 - 17:34 Uhr

Das sind Grundlagen. Bitte beachte: [Hinweis] Wie poste ich richtig? Punkt 1.1 und 1.1.1


string binary = "1001";
int i = Convert.ToInt32(binary, 2);
string hex = String.Format("{0:x}", i);

11.04.2009 - 17:20 Uhr

Ich würde hier mit dem DocumentCompleted-Ereignis arbeiten.
Also für jeden WebBrowser die gleiche Methode und da hochzählen, wenn dann die Anzahl der Browser erreicht ist, die gewünschte Funktion ausführen.
-> Dann wartet er ja auch bis alle Browser die Seite geladen haben?

EDIT:


while (iSyntax.Contains("var[1]"))

Muss das nicht Contains(var[1]) heißen?

Grüße, JasonDelife.

10.04.2009 - 18:51 Uhr

TabControl
->SelectedIndex, SelectedTab
oder SelectTab(int) / SelectTab(string) / SelectTab(TabPage)

Für weitere Infos, siehe: http://msdn.microsoft.com/de-de/library/system.windows.forms.tabcontrol(VS.80).aspx

Grüße,
JasonDelife.

07.04.2009 - 21:24 Uhr

Warum lädst du die Typen nicht aus einem Config-File in das Dictionary?

-> Weil der User (ob mit Absicht oder aus versehen sei dahingestellt) die Datei verändern / löschen könnte.

Immer neu zu kompilieren, wenn etwas dazu kommt, erscheint mir recht blöd.

-> Ja, ist umständlich. Aber bei den MIME-Typen kommen neue nicht so oft hinzu.
Das mit den const string's wäre ne Möglichkeit, aber dazu habe ich im Moment leider keine Zeit.

Grüße,
JasonDelife.

07.04.2009 - 20:23 Uhr

string anwengungsVZ = Environment.CurrentDirectory;

Datei in VS einbinden und in Eigenschaften setzten, dass sie ins Ausgabeverzeichnis kopiert wird.

EDIT: Google hilft... 😉

Grüße,
JasonDelife.

06.04.2009 - 19:10 Uhr

Evtl. auch:


const int SW_MINIMIZE = 6;

Je nachdem, was gewünscht ist.
Siehe: http://www.pinvoke.net/default.aspx/user32/ShowWindow.html

Grüße,
JasonDelife.

06.04.2009 - 18:30 Uhr

Ich denke, du musst statt einem Array eine Liste nehmen, die ein Event der Art EntryAdded zur Verfügung stellt. Vll. geht das auch mit Arrays. Das Problem ist, ich weiß nicht ob es in der FCL eine solche Liste gibt und ob diese vom WinForms-Designer unterstützt wird.

EDIT: Google bemüht: System.ComponentModel.BindingList<T> -> Hat Events AddingNew und ListChanged. Siehe: MSDN: System.ComponentModel.BindingList<T>

Grüße,
JasonDelife.

02.04.2009 - 19:54 Uhr

Audiograbber: http://www.audiograbber.de/

  • Läuft (bei mir) sehr schnell
  • Hat bis jetzt noch keinen Patzer gemacht
  • Mit bis zu über 300 Bit Datenrate für MP3
  • Kostenlos
  • Läuft bei mir unter Vista optimal
  • Letzte zwei: Weiß ich nicht

Die Installation ist ein wenig umständlich, weil man erst noch den Lame-MP3-Codec installieren muss, aber dann läuft er gut und stabil. Er nimmt in wave auf und wandelt dann um, aber ich denke das ist nicht so wichtig, oder?

Viele Grüße,
JasonDelife.

28.03.2009 - 17:49 Uhr

Wenn du schreibst
tmp = connectionGeneral;
und dann an tmp etwas änderst, änderst du auch connectionGeneral.
Sobald du tmp mit new etwas zuweist, und dann etwas änderst passiert nix mehr mit connectionGeneral.


tmp = connectionGeneral;
tmp.XY = ""; // Ändert XY in connectionGeneral und tmp
tmp = new Connection();
tmp.XY = ""; // Ändert XY nur in tmp, da es jetzt nicht mehr auf das gleiche Objekt wie connectionGeneral verweist

Das sind aber Grundlagen.

28.03.2009 - 17:05 Uhr

Wie ich das verstehe willst du wissen ob wenn du tmp.XY = "" schreibst, ob das dann in connectionGeneral auch geändert wird.
Also so:


Connection tmp = connectionGeneral; // if mal weggelassen -> ist hierfür egal
tmp.XY = ""; // Setzt auch in connectionGeneral XY auf ""

Wenn Connection eine Klasse ist funktioniert das so.

04.03.2009 - 17:59 Uhr

Nun aber der WebBrowser stellt die datei korrekt dar? (Sprich kann sie öffnen, weil vorhanden)
Denn wie es aussieht, öffnet DocumentText eine Datei.

04.03.2009 - 17:28 Uhr

System.IO.FileNotFoundException

Alle Pfade richtig? FileNotFoundException heißt ja, dass eine Datei nicht gefunden wurde.

22.02.2009 - 19:53 Uhr

Dieser Fehler wird erzeugt, wenn eine Variable null ist.

Du solltest das vorher per Debugger prüfen und mitteilen.

Momentan sehe ich im Code kein Problem, minimizeBallonInfo wird ja so oder so zugewiesen.

22.02.2009 - 19:50 Uhr

Was für ein Fehler?

EDIT: Millisekunden zu spät 😁

22.02.2009 - 19:38 Uhr

owner wird nicht zugewiesen...

Siehe [Hinweis] Wie poste ich richtig?

22.02.2009 - 15:39 Uhr

Das nächste mal könntest du einfach den Code im Kopf durchgehen,
vll wäre es dir dann selbst aufgefallen.
(Nicht böse gemeint, nur als Tipp)

Grüße, JasonDelife.

22.02.2009 - 15:35 Uhr

private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {

            if (e.KeyCode == Keys.Enter)
            {
                int posi = 54; // Du weist einen Festen Wert zu, du musst aber den aktuellen Stanpunkt erfragen: this.textBox1.Location.Y
                posi += 1;
                this.textBox1.Location = new System.Drawing.Point(212, posi);
            }


        }

20.02.2009 - 17:02 Uhr

Ich habe einfach mal ein wenig in der Geschichte von mycsharp.de rumgestöbert,
sprich: die ersten Beiträge angeschaut. Dabei ist mir Neues SDK ? aufgefallen. Ich weis nicht, ob es bei euch auch ist, aber seht selbst:

10.02.2009 - 15:07 Uhr

Nur zur Vollständigkeit:
Structs castet man wie Klassen.


MyStruct s = (MyStruct) theObject;

06.01.2009 - 12:58 Uhr

Du must string Datei als Klassenweite Variable deklarieren.
Dann kann "Datei" auch in Knopf_Click verwendet werden.
also:


using ...;

class Form1 : Form {
 string Datei;
 
 public Form1() {
            InitializeComponent();

            DataTable Liste = new DataTable();

            DateiLaden(out Datei); //hier wird der Dateipfad als String zurückgegeben

            Verarb(Datei);
   }
}

06.01.2009 - 12:50 Uhr

Ich gehe mal davon aus, das du DSL oder ISDN hast (also eine Dauerverbindung, mit dem Modem würde das Runterladen Tage dauern).
Wahrscheinlich hast du auch eine Firewall (Windows-interne, ZoneAlarm, Kaspersky, G-Data, ...).
Du solltest mal schauen, ob die Firewall den Zugriffsversuch auf das Internet verhindert.
Du könntest die Firewall (im schlimmsten Fall) während der Installation beenden.

Ich hoffe, das hilft dir weiter,
JasonDelife.

07.11.2008 - 17:31 Uhr

Um den Fortschritt in einer ProgressBar darzustellen, musst du die Datei mit einem Reader/Writer kopieren. Dort kannst du dann z.B. alle 1024 Bytes den ProgressBar.Value um 1 erhöhen.

So in etwa: (Achtung: Frei aus dem Kopf)


byte[] data = new byte[1024];
while(reader.Read(data, 0, data.Length) != -1) {
    writer.Write(data);
    ++progressBar.Value;
}

//EDIT: JAck30lena war wohl schneller, trotzdem mal gepostet

07.11.2008 - 17:23 Uhr

Beschreibung:

Ich habe mir die Mühe gemacht (fast) alle Mime-Typen von SelfHTML in einer Klasse MimeTypeProvider bereitzustellen. Da ich nun weiß, wie lästig das ist, dachte ich, dass ich die Klasse hier ins Forum stelle.

Falls jemand Performance-Tipps oder ähnliches hat: Immer her damit!

EDIT: Die Klasse ist nun angehängt (.cs).
EDIT 2: Datei war beschädigt.

JasonDelife.

Schlagwörter: Mime, Mime-Typ

29.10.2008 - 15:59 Uhr

Man kann auch ganz einfach der Page1 im Konstruktor einen Verweis auf das Fenster geben. Ist vl. nicht unbedingt für größere Projekte geeignet (wegen der Übersichtlichkeit).

Im Anhang ist das Beispiel.

27.10.2008 - 21:18 Uhr

Also soweit ich weiß, ist es nicht möglich.
Mit JavaScript würde es funktionieren, ein Fenster zu öffnen und dort den HTML-Code dynamisch hineinzuschreiben.
Frag mich aber bitte nicht wie, ich habe das nur noch wage in Erinnerung.
Vl. kannst du ja "in fenster dynamisch html code schreiben mit javascript" oder so googeln.

Ich hoffe ich konnte dir wenigstens ein bisschen helfen.

27.10.2008 - 21:09 Uhr

Ja, Danke. Jetzt habe ich es verstanden (bin manchmal etwas langsam...).
Wenn das Eingabefenster eine ASP.NET-Seite mit versch. Eingabefeldern ist und du einen Link zum aufrufen hast, benutze
<a href="..." target="_blank">.
Das müsste die Seite in einem neuen Fenster öffnen.

27.10.2008 - 20:59 Uhr

Ja, aber dort sind Links, die zeigen, wie man mit den Sessions Daten für alle Webseiten erreichbar speichern kann.
Es ist dafür, dass die Seite, die das Optionenfesnter zeigt, ja auch "wissen" muss, was der Nutzer nun eingegeben hat. Dafür kannst du dann Sessions benutzten.
Eigentlich ganz einfach:


Session["derOptioenName"] = "dieOption";
string dieOption = Session["derOptioenName"].ToString();

Es geht ja um ASP.NET-Seiten oder? (Stehe grad ein bissl aufm Schlauch)
Soll es denn nur ein Eingabefeld sein oder mehrere?

27.10.2008 - 20:48 Uhr

Hier ist eine Freeware-Klasse die genau das kann: http://mentalis.org/soft/class.qpx?id=5

27.10.2008 - 20:40 Uhr

Erstmal, das von vorhin war für WinForms, aber es geht dir ja um ASP.NET-Seiten?
Für die Sessions siehe: Wert in Server-Zwischenspeicher? [WEB]

Du kannst beim Link das Attribut target="_blank" setzten.

27.10.2008 - 20:06 Uhr

Du kannst auf der ASP.NET-Optionen-Seite die Einagben durch einen Button mit Click-Ereignis validieren und da greifst du dann auf Request.Params["Name_des_Feldes"] zu.
Dann kannst du die Optioen ja in einer Session speichern, so dass sie auf der normalen Seite verfügbar sind.

17.10.2008 - 19:28 Uhr

Komme jetzt ein bisschen (leicht untertrieben 🙂) spät, aber hier ist eine Klasse von mir: MimeTypeProvider

Viele Grüße, JasonDelife.