Hallo,
Ganz banale frage ... ist es möglich irgendwie das clickonce internet update zu nützen ohne das ich meine anwendung mit clickonce installiere ?
Ich würde gerne dem benutzer die möglichkeit geben den ordner wo das programm installiert wird selbst zu wählen, auserdem möchte ich während der isntallation noch gewisse einträge in der registry vornehmen ... deswegen kann ich mit einer reinen click once installation ncihts anfangen...
würde aber gerne die update funktion nützen also veröffentlichen mit vs2005 und dann im programm vor jedem start das cick once internet update durchführen
bis jetzt ist mir dies nur gelungen wenn ich auch das ganze programm per clickonce installiert habe ...
vielleicht hat jemand soetwas schonmal realisiert und könnte mir bitte helfen
lg Jabi
Hallo,
Habe per suche leider nichts gefunden, ist es möglich mir selbst vorlagen zu erstellen in VS 2005 wenn ja wie ?
wäre für jeden tipp dankbar
lg Jabi
geb dir mal ein beispiel
hier unser delegate samt methoden:
private delegate void SetButtonEnabledDelegate(Form frm, Button btn, bool status);
private static void _SetButtonEnabled(Form frm, Button btn, bool status)
{
btn.Enabled = status;
}
/// <summary>
/// Um bei einem Button die Enabled Eigenschaft zu setzen während ein Thread aktiv ist
/// </summary>
/// <param name="frm">Die zu verändernde Form</param>
/// <param name="btn">Der Button</param>
/// <param name="status">Status true/false</param>
public static void SetButtonEnabled(Form frm, Button btn, bool status)
{
frm.Invoke(new SetButtonEnabledDelegate(_SetButtonEnabled), new object[] { frm, btn, status });
}
hier unsere methode um den button unsichtbar zu machen:
private void DoSomething()
{
SetButtonEnabled(this, button, true)
}
und jetzt die methode mit der wir den thread starten:
private void StartThread()
{
Thread tworker = new Thread(DoSomething);
tworker.Start();
}
hoffe ich konnte helfen, ist zwar ein beispiel mit button aber da hatte ich den code schon 🙂
fehlerhafter aufbau vom xml document würd mir das file mal im notepad oder xml editor deiner wahl ansehen
ist jetzt so das erste was mir einfällt
könntest auch die label nicht im GUI sondern in einem eigenen thread erstellen lassen mit delegate/invoke
hab ich schonmal gemacht da haste dann auch weniger probleme da er alles schön der reihe nach erstellt und du dich aber noch im GUI bewegen kannst während er die labels erstellt bzw zeichnet/text vergibt usw ...
Hallo,
erstmal sehr sehr tolles programm,
ich hätte eine frage wie hast du denn die aktualisierung per internet gelöst also die updates ? ich suche auch noch ein passendes system bzw einen brauchbaren ansatz für meine programme wäre super nett wenn du dich dahingehen bei mir melden könntest
warum MySql nutzen da muss man wieder ne datenbank installieren,
Nütze doch XML in verbindung mit datasets
oder benütze DataTables und speichere diese in binär datein,
oder verwende eine access datenbank
kenn mich damit net wirklich aus aber
schonmal probiert für jeden sound einen eigenen Thread zu verwenden ?
kann auch nur empfehlen mit merhren monitoren zu arbeiten 🙂
Daten in eine DataTable geben und dann binär in einer datei speichern
für eine tabelle :
datagridview.DateSource = dataset.Tables["tabellenname"];
hallo,
Mesh.FromFile(path, meshflags, device) funktionierte leider auch nicht
bekomme hier immer eine exception weil die datei wohl ungültig ist ....
in einem anderen programm aus der community hier wo man wavefront files mit opengl darstellt funktionierte die datei allerdings einwandfrei ....
lg jabi
Hallo liebe Community,
Am letzten Wochenende habe ich mich sehr viel mit DirectX beschäftigt.
Einige beispiele und Tutorials durchgemacht.
Nun wollte ich mir ein kleines Test Programschreiben welches einen 3d Körper zeigt und von diesem eine rundumansicht zeigt.
Mit einem vorgegebenen 3d Object ( Mesh.Teapot(...)) funktioniert dies schon sehr gut ( ausgeschlossen ein paar kleine macken :p )
Nun stehe ich aber vor einem Problem das ich mangels wissens/erfahrung und auch leider ... nicht mit google/msdn lösen konnte.
Vielleicht gibts ja einige die mir hier weiterhelfen können.
Zum Problem:
Ich habe 3D objecte im Wavefront (.obj) und im WRL (.wrl) format zur verfügung
Wie kann ich diese nun als mesh in directx benützen ?
Mesh.FromX(...) ist ja nur für x Files das hatte ich mit X files ausprobiert und funktioniert auch wunderbar leider steht mir dieses format für meine 3d objecte nicht zur verfügung
irgendwie bin ich auf keinen grünen zweig gekommen ... das einzige was ich bekommen ahbe sind wohl 1-2 mehr graue haare 😜
ich wäre für jede wenns auch noch so kleine hilfestellung ist sehr dankbar
lg Jabi
Hallo Community
Gibt is irgendwelche C# Bibliotheken mit denen man Datein von Pro Engineer (*.prt) Verarbeiten kann bzw ansehen kann ?
will mit c# das grafische object eigentlich nur bewegen, rundum ansicht etc teile zusammenfügen usw ....
Vielleicht kennt sich wer damit aus bzw hat sowas schonmal gebraucht
lg Jabi
hallo,
so ganz spontan würd ich ne DataTable baun die daten einlesen
und per random die row auslesen
minimum number 0 und max number rows.count nehmen ...
public static int intRndmNumber(int minNumber, int maxNumber)
{
Random randm = new Random();
int intBuffer = randm.Next(minNumber, maxNumber);
return intBuffer;
}
abläufe und logik musst dir halt selber machen ....
wäre halt eine möglichkeit was mir so auf die schnelle einfällt ...
Grundlagen lernen und FAQ lesen
frm2 f2 = new frm2();
f2.Show();
e-gitarre aber mir fehlt einfach die zeit um viel zu spielen ...
ja mit den generischen listen kann man auch mehrere objecte speicher
public class CPerson
{
private string _vorname;
private string _nachname;
public CPerson(string vorname, string nachname)
{
this._vorname = vorname;
this._nachname = nachname;
}
public Vorname
{
get{ return this._vorname;}
set { this._vorname = value;}
}
public Nachname
{
get{ return this._nachname;}
set { this._nachname= value;}
}
}
und die List<> kannst du dann so bauen
List<CPerson> Person = new List<CPerson>();
Person.Add( new CPerson ( Max, Mustermann));
abrufen kannst du das kganze dann auch einfach
entweder mit einer schleifen durchlaufen lassen zb:
string buffer = null;
for(int i = 0; i< Person.Count;i++)
{
buffer += Person[i].Nachname;
buffer += " ";
buffer += Person[i].Vorname;
}
// oder mit einer index nummer abrufen:
buffer += Person[0].Nachname;
ich hoffe das hat dir ein bischen geholfen... mehr solltest du dann im openbook finden
ich hoffe auch das sich kein fehler eingeschlichen hat so auf die schnelle 🙂
edit:
falls es nem mod gefällt kann er es ja in die FAQ oder zu den Artikeln für Newbies geben 🙂
verstehe deine frage nicht so ganz ...
aber vieleicht meinst du die Generischen listen ?
List<> ?
Original von herbivore
Hallo Jabi,weil deine Lösung davon abhängt, welche Länder-Einstellungen auf dem Rechner vorliegen. Wenn z.B. als Dezimaltrennzeichen ein ';' eingestellt ist oder noch was anderes, dann geht es bei dir schief.
herbivore
ah klingt logisch ... 🙂
danke
Original von herbivore
Hallo Jabi,schwer ist das nicht, aber es ist keine gute Lösung!
herbivore
Hallo herbivore,
keine gute Lösung ?
warum denn ... man lernt nie aus ?
string strDouble = null;
double a = 2.2;
strDouble = a.ToString().Replace('.', ',');
ist doch nicht schwer oder ? 🙂
gleich nochmal als methode:
private string DoubleToString(double a)
{
return a.ToString().Replace('.', ',');
}
greetz Jabi 😁
OleDbCommand
und ExecuteNonQuery()
wäre auch ein ansatz 🙂
Datatable erstellen und in ner binär datei speichern .... 🙂
falls es mehrere daten sind würde ich sie nicht im xml format speichern denn da kann der schreibvorgan schonmal dauern und das file ist auch größer
lieber binär speichern
Int32 buffer = 0;
for(int i = 0;i<datagridview1.Rows.Count;i++)
{
buffer += this.datagridview1.Rows[i].Cells[1].Value
}
wobei Cell[1] 1 is hier die zweite spalte
sollte so gehen habs zwar net ausprobiert aber kann sein ...
wenn du dir aber die daten vom sql server holst ist es geschickter per sql befehl die spalten zu summieren ... mit SUM() ..
lg Jabi
ok danke
werd das ganze anders probieren 🙂
Hallo,
Vorne weg ich hab gegoogelt in der ms doku nachgeuggt und die forum suche benutzt. vielleicht einfach über sehen oder ka
mein problem ist folgendes
Ich habe ein datagridview und darin befinden sich verschiedene spalten
formatierung und so ist alles kein problem..... die combo boxen im dgv befüllen ist auch kein problem....
das einzige problem was ich habe ist das wenn ich die comboboxcell dann anwähle kann ich zwar items auswählen aber selber keine einträge nicht reinschreiben....
vielleicht hatte jemand schonmal das problem und könnte mir bei der lösung behilflich sein
hier der code meiner jetzigen formatierung der spalte:
dgv.Columns.Remove("Land");
DataGridViewComboBoxColumn dcbc = new DataGridViewComboBoxColumn();
dcbc.DataPropertyName = "Land";
dcbc.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
dcbc.HeaderText = "Land";
dcbc.Sorted = true;
dcbc.ReadOnly = false;
dcbc.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dcbc.DisplayIndex = 1;
dcbc.AutoComplete = true;
dgv.Columns.Add(dcbc);
vielen dank schonmal im voraus ...
hallo ja einfach mit delegates arbeiten
bsp:
hier meine methode die einen webrequest durchführt
private void Connect()
{
string strConnMsg = null;
this.lstboxSpeedAdd("Verbindungsaufbau .......");
this.SetConnBtn(false, true);
if (CConnect.Web_Access(txtConnUser.Text, txtConnPassword.Text, ""meine url"") == true)
{
strConnMsg = DateTime.Now.ToShortDateString() + " - " +
DateTime.Now.ToShortTimeString() + ":" +
DateTime.Now.Second + " : " +
"Verbindung erfolgreich hergestellt ";
this.lstboxSpeedAdd(strConnMsg);
this.SetConnState(true, strConnMsg);
}
else
{
strConnMsg = DateTime.Now.ToShortDateString() + " - " +
DateTime.Now.ToShortTimeString() + ":" +
DateTime.Now.Second + " : " +
"Fehler beim Verbindungsaufbau !";
this.lstboxSpeedAdd(strConnMsg);
this.SetConnState(false, strConnMsg);
this.SetConnBtn(true, false);
}
}
this.lstboxSpeedAdd füllt mir meine listbox mit dem entsprechenden string
dafür hab ich ein delegate machen müssen
bsp:
// listbox updaten ...
public delegate void lstboxConnDelegate(string entry);
public void lstboxAdd(string entry)
{
this.lstboxConnection.Items.Add(entry);
this.lstboxConnection.TopIndex = (int)(this.lstboxConnection.Items.Count - 1);
}
public void lstboxSpeedAdd(string entry)
{
this.Invoke(new lstboxConnDelegate(lstboxAdd), new object[] { entry });
}
// listbox updaten ... mit invoke ende
und das der webrequest mir nicht mein GUI blockiert rufe ich diesen in einem eigenen thread auf
private void btnConnect_Click(object sender, EventArgs e)
{
Thread myThread = new Thread(Connect);
myThread.Start();
}
hoffentlich konnte ich dir damit helfen
lg Jabi
is dein programm an eine datenbank gebunden und er conectet sich beim aufbau ?
mir is das schonmal passiert beim formload einen conect zu db ( wenns der erste connect is dauerts dann immer länger)
falls das der fall ist einfach die connect methode in einen eigenen thread schmeißen
also eve lohnt sich schon braucht man aber auch erstmal ein paar wochen zum skillen damit man auch ordentlich spielen kann ...
bin ja mehr so für Mittelalter MMORPG'S ala Dark age of Camelot
greetz jabi
Original von herbivore
Hallo xXeRaptorXx,Ich entführe herbi, saugen sein Hirn aus und füge es in meins ein
Foren wurden ja extra erfunden, um den amputationslosen Wissenstransfer zu ermöglichen.herbivore
sieht man an deiner posting zahl g
lg Jabi
greifst du mit einem streamreader auf die datei zu ? vielleicht ist der noch nicht geschlossen ? oder die datei wird von einem anderen programm benützt ?
achja und
using System.Reflection;
nicht vergessen
hallo ich hole mir den programmpfad immer so :
// ProgramPfad
public static string ApplicationPath
{
get
{
return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
}
}
hallo
vielleicht hilft dir das auch 🙂
Programmpfad:
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.IO;
namespace Programmpfad
{
class CCentral
{
public string ApplicationPath
{
get
{
return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
}
}
}
}
Environment.Exit(Environment.ExitCode);
lg Jabi
also ich hab mir mal eine html sonderzeichen methode geschrieben
musst halt erst die datei auslesen oder den string der was da drinn ist durch die methode laufen lassen und dann abspeichern
public static class CCentral
{
public static string HtmlSZeichenConverter(string strToCOnvert)
{
strToCOnvert.Replace("ä", "ä");
strToCOnvert.Replace("Ä", "Ä");
strToCOnvert.Replace("ö", "ö");
strToCOnvert.Replace("Ö", "Ö");
strToCOnvert.Replace("ü", "ü");
strToCOnvert.Replace("Ü", "Ü");
strToCOnvert.Replace("ß", "ß");
strToCOnvert.Replace("¡", "¡");
strToCOnvert.Replace("¢", "¢");
strToCOnvert.Replace("£", "£");
strToCOnvert.Replace("¤", "¤");
strToCOnvert.Replace("¥", "¥");
strToCOnvert.Replace("¦", "¦");
strToCOnvert.Replace("§", "§");
strToCOnvert.Replace("¨", "¨");
strToCOnvert.Replace("©", "©");
strToCOnvert.Replace("ª", "ª");
strToCOnvert.Replace("«", "«");
strToCOnvert.Replace("¬", "¬");
strToCOnvert.Replace(" ", "­");
strToCOnvert.Replace("®", "®");
strToCOnvert.Replace("¯", "¯");
strToCOnvert.Replace("°", "°");
strToCOnvert.Replace("±", "±");
strToCOnvert.Replace("²", "²");
strToCOnvert.Replace("³", "³");
strToCOnvert.Replace("´", "´");
strToCOnvert.Replace("µ", "µ");
strToCOnvert.Replace("¶", "¶");
strToCOnvert.Replace("·", "·");
strToCOnvert.Replace("¸", "¸");
strToCOnvert.Replace("¹", "¹");
strToCOnvert.Replace("º", "º");
strToCOnvert.Replace("»", "»");
strToCOnvert.Replace("¼", "¼");
strToCOnvert.Replace("½", "½");
strToCOnvert.Replace("¾", "¾");
strToCOnvert.Replace("¿", "¿");
strToCOnvert.Replace("À", "À");
strToCOnvert.Replace("Á", "Á");
strToCOnvert.Replace("Â", "Â");
strToCOnvert.Replace("Ã", "Ã");
strToCOnvert.Replace("Ä", "Ä");
strToCOnvert.Replace("Å", "Å");
strToCOnvert.Replace("Æ", "Æ");
strToCOnvert.Replace("Ç", "Ç");
strToCOnvert.Replace("È", "È");
strToCOnvert.Replace("É", "É");
strToCOnvert.Replace("Ê", "Ê");
strToCOnvert.Replace("Ë", "Ë");
strToCOnvert.Replace("Ì", "Ì");
strToCOnvert.Replace("Í", "Í");
strToCOnvert.Replace("Î", "Î");
strToCOnvert.Replace("Ï", "Ï");
strToCOnvert.Replace("Ð", "Ð");
strToCOnvert.Replace("Ñ", "Ñ");
strToCOnvert.Replace("Ò", "Ò");
strToCOnvert.Replace("Ó", "Ó");
strToCOnvert.Replace("Ô", "Ô");
strToCOnvert.Replace("Õ", "Õ");
strToCOnvert.Replace("Ö", "Ö");
strToCOnvert.Replace("×", "×");
strToCOnvert.Replace("Ø", "Ø");
strToCOnvert.Replace("Ù", "Ù");
strToCOnvert.Replace("Ú", "Ú");
strToCOnvert.Replace("Û", "Û");
strToCOnvert.Replace("Ü", "Ü");
strToCOnvert.Replace("Ý", "Ý");
strToCOnvert.Replace("Þ", "THORN");
strToCOnvert.Replace("ß", "ß");
strToCOnvert.Replace("à", "à");
strToCOnvert.Replace("á", "á");
strToCOnvert.Replace("â", "â");
strToCOnvert.Replace("ã", "ã");
strToCOnvert.Replace("ä", "ä");
strToCOnvert.Replace("å", "å");
strToCOnvert.Replace("æ", "æ");
strToCOnvert.Replace("ç", "ç");
strToCOnvert.Replace("è", "è");
strToCOnvert.Replace("é", "é");
strToCOnvert.Replace("ê", "ê");
strToCOnvert.Replace("ë", "ë");
strToCOnvert.Replace("ì", "ì");
strToCOnvert.Replace("í", "í");
strToCOnvert.Replace("î", "î");
strToCOnvert.Replace("ï", "ï");
strToCOnvert.Replace(" ", "ð");
strToCOnvert.Replace("ñ", "ñ");
strToCOnvert.Replace("ò", "ò");
strToCOnvert.Replace("ó", "ó");
strToCOnvert.Replace("ô", "ô");
strToCOnvert.Replace("õ", "õ");
strToCOnvert.Replace("ö", "ö");
strToCOnvert.Replace("÷", "÷");
strToCOnvert.Replace("ø", "ø");
strToCOnvert.Replace("ù", "ù");
strToCOnvert.Replace("ú", "ú");
strToCOnvert.Replace("û", "û");
strToCOnvert.Replace("ü", "ü");
strToCOnvert.Replace("ý", "ý");
strToCOnvert.Replace("þ", "þ");
strToCOnvert.Replace("ÿ", "ÿ");
return strToCOnvert;
}
}
hoffe das ich dir weiterhelfen konnte
achja falls du die datei erst auslesen musst : Encoding.Default hernehmen
lg jabi
Original von Noodles
Original von Jabi
huch ich hab dann wohl seine frage falsch verstanden,.... sry 😦Dabei stand diese ja nun schon in "Wünsche und Kritik". 😉
tjo das kommt davon wenn man nicht liest in welchem forum der thread erstellt wurde g ^^
huch ich hab dann wohl seine frage falsch verstanden,.... sry 🙁
kann da auch eine statische klasse empfehlen
hier ein beispiel wo man was in einen string speichert und diesen später wieder ausließt
public static class CData
{
public static string MailSenderAdresse
{
get
{
string strBuffer = "irgendwer@irgendwo.com";
return strBuffer;
}
}
}
aufgerufen wird das ganze dann so:
CData.MailSenderAdresse;
hoffe ich konnte helfen 🙂
ah ja stimmt klingt auch logisch irgendwie 🙂
SenderAdresse ist ja auch nur einmal enthalten und nicht in jedem knoten werds gleich mal ausprobieren ....
edit: tatsächlich hat funktioniert vielen dank 🙂 !
lg Jabi
hallo vielleicht passts nicht gnaz hier rein oder doch zumindest wollte ich keinen neuen thread aufmachen .....
ich habe folgendes problem
hab mir ne methode geschrieben wo ich einen wert aus einer xml datei auslese
der wert wird über nommen und auch zurück gegeben bekomme aber trotzdem immer
eine nullreferenceexception ......
public static string MailSenderAdresse
{
get
{
FehlerMeldungen fm = new FehlerMeldungen();
string strBuffer = null;
XmlDocument xmldoc = new XmlDocument();
try
{
xmldoc.Load(new XmlTextReader(CCentral.ApplicationPath + "\\Data\\setup.xml"));
XmlElement root = xmldoc.DocumentElement;
object obj = new object();
while (root.HasChildNodes)
{
foreach (XmlNode MailSetup in root.ChildNodes)
{
if (MailSetup["SenderAdresse"].InnerText != "")
{
if (obj != null)
{
obj = MailSetup["SenderAdresse"].InnerText;
strBuffer = obj.ToString();
}
}
}
}
}
catch (XmlException ex)
{
fm.WriteFehlerMeldung(ex.Message);
fm.WriteMailFehlerMeldung(ex.Message);
}
catch (NullReferenceException ex)
{
fm.WriteFehlerMeldung(ex.Message);
Console.WriteLine(ex.Message);
}
finally
{
}
return strBuffer;
}
eigentlich ists nicht schlimm ich komme ja zum ergebniss aber es stört mich doch zu wissen wieso das so ist ....
kennt irgendwer sowas in der art ?
die nullreference exception wird bei dieser zeile angezeigt:
if (MailSetup["SenderAdresse"].InnerText != "")
es funktioniert ja eigentlich alles nur mag ich keine schönheitsfehler 😜
lg jabi
ich versteh die frage zwar net ganz aber ich glaube du meinst das ?
if (MessageBox.Show("Haben Sie ein Auto ?", "Frage?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
// tu was
}
else
{
// tu was anderes
}
hatte ich auch
einfach ANSI Codierung hernehmen sprich Encoding.default
Margins m = this.printDocument1.DefaultPageSettings.Margins;
m.Bottom = (int)(20 / 25.4);
m.Top = (int)(0.2 / 25.4);
m.Left = 0;
m.Right = 0;
hab ich in den print eventhandler reingesetzt
probier mal das 🙂 vielleicht funkt es ja 🙂
Original von Programmierhans
😉 tja manchmal sieht man den Wald vor lauter Bäumen nicht mehr 8)
hehe ´das trifft den nagel am Kopf 😜 🙂
ja net ist mir auch gerade aufgefallen i würstel ich 😁 -.....
habs nun mit Encoding.Default gemacht und funktioniert 🙂
danke 🙂