Ah ok, dann wird ich das mal probieren. Mit Event meinst Du was genau? Der Fehler entsteht sogar wenn ich im Designer einen Button setze und ausversehen zu schnell geklickt habe und bereits im Codefenster gelandet bin mit entsprechenden Autoeintrag inkl. Platzhalterbeschriftungen und diesen komplett wieder lösche, kann ich schon nicht mehr zum Designerfenster switchen da mich der Fehler schon erwartet. Also gleich zu Form1.Designer.cs changen und dort umbennennen oder den betroffenen Button etc. rauslöschen...
:
Das ist halt das Problem wenn man nicht weiss was eine Klasse ist und wie ein Event und Formular aufgebaut ist.
Wenn du auf den Button doppelt klickt, generiert dir Visual Studio ein Eventhandler Click. Dieser ist dafür da, dass überhaupt etwas passiert wenn du drauf klickst.
Zu diesem EventHandler gehört eine Methode. Diese Methode siehst du dann, wenn du in deiner Form1.cs Datei bist. Löscht du diese Methode von Hand, findet der Designer diese nicht mehr und kann deine schöne Form nicht mehr anzeigen.
Also bevor du die Methode löscht, zuerst den Eintrag im (wie sagst du so schön) "Blitz" löschen.
Gruss Lothi
Hallo,
wo hast du was geändert. Verstehe kein Wort.
Wenn du in Forms1.Desinger.cs was änderst, dann ja.
In der Form1.cs eigentlich nicht.
Gruss Lothi
Nein.
Du gibst beide male eine andere Variable aus.
//Mein Wert ist das Objekt in der Liste.
//Beim Aufruf wird automatisch ToString() aufgerufen.
foreach (int meinWert in meinArray) {
Console.WriteLine (meinWert);
}
//i ist eine int Variable die du im Schleifenkopf deklariert hast.
//Du gibst einfach nur i aus
//siehe im Buch for - Schleifen
for (int i = 0; i < meinArray.Length; i++) {
Console.WriteLine (i);
}
Gruss Lothi
Hallo,
Und da?
double d = geoposition.Coordinate.Point.Position.Longitude;
auch schon ohne Kommastellen? Wenn da gut ist, liegs am ToString().
Gruss Lothi
Falsch ist es nicht, aber ich finde, dass ich die OOP besser mit einem Consolenprogramm lernte als mit Winforms.
Hat man das ganze OOP Zeugs ein bisschen verstanden, so sieht man danach ein Windows Form auch nur noch als einfache Klasse.
Gruss Lothi
Hallo,
Wieso den Double rnd.Value in einen String umwandeln, dann in einen Double parsen und dann wieder in einen String umwandeln zum speichern.
Gruss Lothi
Nun werden seine Kameras aber immer mehr. Also will ich natürlich nicht jedes mal meinem Programm-Code an die Anzahl der Kameras anpassen.
Du brauchst dann doch nur ein Button der dir eine neue Tab erstellt mit dem Usercontrol drin.
Das Usercontrol enthält ja dann auch alle Events.
Was da am Code anzupassen ist verstehe ich jetzt nicht. Machen doch alle das gleiche diese Dinger.
Gruss Lothi
Hallo,
ne ist nicht das gleiche.
Steuerelement ist ein Button. Jetzt kannst du von dem Standart Button ableiten und deine eigenen Funktionalitäten einbauen.
UserControl ist ein Contianer in dem du viele Steuerelemente hinzufügen kannst und dann in deine Tab als "Steuerelement" aufnehmen kannst. Ich glaube das ist das was du willst.
Gruss Lothi
Hallo,
du kannst in WPF ToolTip alles reinhauen was du willst.
http://www.wpftutorial.net/ToolTip.html
Gruss Lothi
Hallo,
hier mein Code aus dem Designer:
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 261);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
Wenn mal eine Antwort weiss sind ander immer schneller. 😉
Gruss Lothi
Hmmm... vielleicht verstehst du mich nicht.
Das ist deine Übersicht. Du willst jetzt eine Tabelle die diese Daten enthält um diese dann anzeigen zu können. Über diese Anzeige willst du dann zu den jeweiligen Details gelangen um diese bearbeiten zu können. Richtig?
Das sieht in etwas wie folgt aus:
Muster Hans (ID 25)
- Adressen
-- Postanschrift
-- Hauptanschrift- Kommunikationsdaten
-- Telefon- Dienstverhältnisse
-- 01.01.2008 - 31.12.2009
-- 01.01.2010 - offen- Fortbildungen
-- 01.01.2008 - 14.01.2008
-- ...
Fett sind Tabellen richtig?
Da kannst doch schön eine Abfrage mit den Daten für die Ansicht in der DB erstellen. Diese nimmst du dann mit ins EF wie eine Tabelle.
Vielleicht seh ich das zu einfach.
Gruss Lothi
Eigentlich sehe ich das so wie Diräkt.
Um bei deinem Beispiel zu beiben:
historische Speicherung von Anwendungsfällen zu einer Person. Von wann bis wann war sie krank. Hat sie Atteste zur Krankheit vorgelegt? Wann hat sie die Krankheit gemeldet?...
Da ja eine Person mehrer solcher Atteste in seiner Laufbahn bringen kann, ist es keine 1:1 Beziehung mehr.
Auch dein Beispiel mit der Adresse ist keine 1:1 Beziehung. Eine Person kann in seinem Leben mehrmals die Adresse ändern also auch wieder eine 1:n Beziehung.
1:1 verstehe ich zum Beispiel wenn du der Name der Person in einer Tabelle hast und das Geburtsdatum in einer anderen Tabelle.
Alles wickelt sich ja über die Person ID ab.
Du kannst ja schon eine View in der Datenbank mit den Daten, welche in der Vorgangsbaum angezeigt werden sollen, zusammenstellen.
Später kommst du dann ja über die ID auf die einzelnen Daten aus den Tabellen.
Gruss Lothi
Hallo Holzwurmmc
Hilft dir das?
[Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox)
Gruss Lothi
Hallo
Gruss Lothi
Hallo
Als Parameter von OnPropertyChanged() solltest du den den Namen des Property übergeben und das ist Text_old
😉
Gruss Lothi
public string Text_old
{
get
{
return text_old;
}
set
{
text_old = value;
OnPropertyChanged("Text_alt");
}
}
Text_alt
oder Text_old
?
Gruss Lothi
Hallo
Wenn du die Ctrl Taste drückst, wird die Box transparent und du kannst beides Lesen.
Gruss Lothi
Hallo zusammen
Seit es WPF gibt, gibt es unterschiedliche Strukturen für Positionen und Grössen
System.Windows.Rect
System.Windows.Size
System.Windows.Point
System.Drawing.RectangleF
System.Drawing.Rectangle
+die Point und Size Strukturen
Wenn ich jetzt eine Klassenbiblithek erstellen will, welche der beiden Namespace ist sinnvoller, um die Klassen in Windows.Form und in Window einsetzen zu können.
Gruss Lothi
Hallo
Darf ich Dir diesen Artikel Empfehlen?
[Tutorial] Konfigurationsmodell im .NET Framework
Gruss Lothi
Hallo
Aber die AutorID hat in der Tabelle Book nigs verloren. Der Autor und das Buch werden in der Zwischentabelle zusammengeführt.
Gruss Lothi
Ergänzung: Ups... habe die letzte Zeile von FZelle nicht gelesen.
Hallo
Ich habe das 2. Buch.
Es wird seitenlang die Properties aufgelistet, mit der gleichen Erklärung wie in der MS Hilfe.
Ich war ziemlich entäuscht.
Gruss Lothi
Hallo,
Ich glaube du wirst kein Buch finden, welches genau das beinhaltet, dass du gerne hättest.
Ich habe mit dem Online Buch angefangen. Da wird alles von Anfang an erklärt. Auch das VS selber wird gut erklärt und Debuggen.
Vieles muss man halt ausprobieren und in der MS Hilfe nachschlagen. Die Frameworkklassen findet man alle in der Hilfe F1 hilft.
Für mich war eigentlich nicht das schwierigste die Sprache selber zu lernen, sondern das Programmieren im gesamten.
(Ich hasse die OOP Beispiele mit dem Auto)
Gruss Lothi; ein Anfänger
Hallo
Sieht aus wie das Tabellen- und Textverarbeitungsprogramm von Google.
Ob da was im Busch ist? 8)
Gruss Lothi
Hi
Und macht es einen Unterschied?
Wenn du gucken willst, ob die Inhalte der Klasse gleich sind, muss du die Inhalte der Klassen (edit: oder Zettel 8)) vergleichen.
Dafür kannst du in der zu prüfenden Klasse Equals() überschreiben.
Gruss Lothi
Hallo
Im Prinzip sollte man darauf achten, daß alle Benutzereingaben soweit wie möglich validiert werden, um dann an dieser Stelle darauf reagieren zu können.
Und wenn die Eingabe nicht i.O ist, muss man das doch dem Benutzer melden, also muss ja wieder eine Exception ausgelöst werden.
In der Datenschicht kannst man ja nicht einfach MessageBox("Da ist ein Fehler!").Show()
anzeigen.
Die Information muss doch mit throw new Exception()
weitergegeben werden? Oder?
Gruss Lothi
Naja dachte ich mir fast.
Ich werde das mit einer Eigenschaft machen, die auf korrupt gestellt wird, wenn die Struktur nicht mehr Rückgängig gemacht werden konnte.
So kann ich, bevor das nächste Mal Daten in den Ordner gespeichert werden sollen, dem Benutzer melden, dass der vorhandene Speicherort korrupt ist.
catch
{
try
{
if(deltaV != null)
deltaV.Delete(true);
set.Korrupt = false;
throw;
}
catch
{
set.Korrupt = true;
throw;
}
}
Irgendsowas in der Art. Ich weiss bin ein halt ein bastler.
Gruss Lothi
Hallo zusammen
Bei folgendem Code möchte ich, wenn das Erstellen der Ordner schief geht, diese wieder löschen.
Nun kann es bei meiner Aufräum Aktion im catch Block wieder zu einer Exception kommen.
Wie wird das in diesem Fall gehandhabt? Ich will keine halb erstellte Ordnerstruktur haben. Entweder werden alle erstellt oder gar nichts.
public static void Struktur(String Pfad)
{
DirectoryInfo deltaV = null;
try
{
ReSPC_Data set = new ReSPC_Data();
deltaV = new DirectoryInfo(Path.Combine(Pfad, "DELTAV"));
deltaV.Create();
set.Strukturpfad = deltaV.FullName;
deltaV.CreateSubdirectory("Operations");
deltaV.CreateSubdirectory("Enums");
deltaV.CreateSubdirectory("Procedures");
deltaV.CreateSubdirectory("Unitprocedures");
}
catch
{
if(deltaV != null)
deltaV.Delete(true);
throw;
}
}
Wie das vorgehen, wenn Code im Catchblock, auch eine Exception auslösen kann.
Danke und Gruss
Lothi
Hallo
Die Objekte erstelle ich aus einer Textdatei, welche ich von einem externen Programm bekomme. Das Programm erwartet dann auch wieder ein gleiches Format zurück.
Sieht vereinfacht so aus:
BATCH_RECIPE NAME="OP_AUSTR_GS" TYPE=OPERATION CATEGORY="Recipes/Operations"
user="ADMINISTRATOR" time=1315290854/* "06-Sep-2011 08:34:14" */
{
DESCRIPTION="Grundschichtaustrag OP Zentrifuge"
FORMULA_PARAMETER NAME="FP_BESCHREI_TEXT" TYPE=UNICODE_STRING
{
CONNECTION=INPUT
RECTANGLE= { X=-50 Y=-50 H=1 W=1 }
}
ATTRIBUTE_INSTANCE NAME="FP_BESCHREI_TEXT"
{
VALUE { CV="" }
}
}
Also eine Klasse Operation
("OP_AUSTR_GS") die in einer 1:n Beziehung mit der Klasse Parameter
steht.
Vom User darf nur VALUE
geändert werden.
Will der User eine neue Operation
erstellen, wird eine Kopie von der Standart Operation
erstellt, der er ein neuen Namen geben muss, wenn die alte nicht überschrieben werden soll. Das zu prüfen ist die Sache vom Benutzer.
Der Benutzer meiner DLL, bekommt von mir eine Klasse OperationListe
, aus der er alle Operationen mit den Parameter bekommt.
Ich erwarte dann von ihm eine geänderte Operation oder geänderte Operationen in einer Liste zurück.
Diese Daten werden dann wieder als Textdatei gespeichert, die vorhanden OP überschrieben, die Neuen neu angelegt.
Wie der User die Value-Werte ändert weiss ich nicht. Wenn ich jetzt mein geschreibsel so lese, glaube ich nicht, dass ich INotifyPropertyChanged brauche.
Das Designe ist komplizierter als ich am Anfang vom Projekt gedacht habe. 8)
Gruss Lothi
Hallo
Vielen Dank für die Ratschläge.
Wenigstens bin oder war ich nicht ganz auf dem Holzweg. Habe mich ein bisschen mit der Datenbindung beschäftigt und wurde dadurch unsicher.
Werde also bei List<T> bleiben.
Vielen Dank und Gruss
Lothi
Hallo zusammen
Mir kam einfach kein besserer Titel in den Sinn.
Ich bin dabei eine dll zu erstellen, welche geparste Objekte aus Textdateien als Objekte und Listen zur Anzeige oder Weiterverarbeitung bereit stellt.
Da ich nicht weiss was mit den Daten weiter gemacht wird (Consolen Anwendung, Internet, WPF, Forms...), weiss ich jetzt nicht genau, wie und in welcher Form ich die Listen zur Verfügung stellen soll.
Soll ich schon in meiner DLL überall INotifyPropertyChanged impementieren und BindingList<T> zurückgeben. Oder einfach normale Listen (List<T>, Collection<T>).
Die Daten können auch nur für Berechnungen benutzt werden, die dann nicht gebunden werden.
Wie ist das vorgehen?
Vielen Dank und Gruss
Lothi
Hallo
Du solltest die definierten Parameter noch dem OleDbCommand übergeben.
Die "@" brauchst auch nicht.
@"INSERT INTO Tabellenname (p1,p2) VALUES (?,?)
Gruss Lothi
Hallo
Hatte die Seite noch offen:
Bei UPDATE-Anweisungen, INSERT-Anweisungen und DELETE-Anweisungen ist der Rückgabewert die Anzahl der vom Befehl betroffenen Zeilen.Wenn in einer eingefügten oder aktualisierten Tabelle ein Trigger vorhanden ist, enthält der Rückgabewert die Anzahl der durch den Einfüge- und Aktualisierungsvorgang betroffenen Zeilen sowie die Anzahl der Zeilen, die durch den oder die Trigger beeinflusst werden.Bei allen anderen Anweisungstypen ist der Rückgabewert -1.Wenn ein Rollback ausgeführt wird, ist der Rückgabewert ebenfalls -1.
http://msdn.microsoft.com/de-de/library/system.data.sqlclient.sqlcommand.executenonquery.aspx
Gruss Lothi
Hallo
Also ich radle.
Immer zur Arbeit und zum Spass.
So ca. 300-400km pro normale Woche.
Und Morgen gehts über ein paar Alpenpässe 👍 👍
Gruss Lothi
Hallo
Ja das ist nur ein Ausschnitt. Die XML ist korrekt.
Im Firefox wird die Xml korrekt angezeigt.
Wenn ich die XML in ein DataSet einlese funktionierts auch, also liegt es ganz sicher nicht an der Orginal XML.
Die fehlenden Daten erscheinen aber unter dem NodeType "Text".
Gruss Lothi;der noch verwirrter wird.
verwendetes Datenbanksystem: XML
Hallo
Ich möchte mit dem XmlReader die Daten aus einer XML Datei auslesen.
Die Datei ist ohne Leerzeichen und Zeilenumbrüche.
Um die richtigen Daten zu erwischen, habe ich mir einen Teil der Datei formatiert.
Mit einer Funktion durchlaufe ich die XML und lese die Daten aus. Das Problem ist nun, dass es ein Element in der Unformatierten Version nicht ausliesst.
<Trackpoint><Time>2010-05-24T10:13:46Z</Time><Position><LatitudeDegrees>46.325853</LatitudeDegrees><LongitudeDegrees>7.989642</LongitudeDegrees></Position>
<AltitudeMeters>695.957</AltitudeMeters>
<DistanceMeters>0.093</DistanceMeters>
<HeartRateBpm><Value>93</Value></HeartRateBpm>
</Trackpoint>
Hier funktioniert das Auslesen von DistanceMeters
<Trackpoint><Time>2010-05-24T10:13:49Z</Time><Position><LatitudeDegrees>46.325806</LatitudeDegrees><LongitudeDegrees>7.989683</LongitudeDegrees></Position><AltitudeMeters>695.275</AltitudeMeters><DistanceMeters>5.825</DistanceMeters><HeartRateBpm><Value>87</Value></HeartRateBpm>
</Trackpoint>
Alles wird ausgelesen nur DistanceMeters
nicht?
Was könnte das sein?
Komischerweise wird das EndElement erwischt.
Falls erwünscht kann ich ein Beispiel Projekt anhängen.
Debug.Print(xrd3.NodeType.ToString() + " " + xrd3.Name);
Gibt folgendes aus:
Element Trackpoint
Whitespace
Element Time
Element Position
Whitespace
Element LatitudeDegrees
Text
EndElement LatitudeDegrees
Whitespace
Element LongitudeDegrees
Text
EndElement LongitudeDegrees
Whitespace
EndElement Position
Whitespace <==== Meine Formatierung
Element AltitudeMeters
Element DistanceMeters <=== Element ist da
Element HeartRateBpm
Whitespace
Element Value
EndElement HeartRateBpm
Whitespace
EndElement Trackpoint
------------------------------------------------------------
Element Trackpoint
Element Time
Element LatitudeDegrees
Text
EndElement LatitudeDegrees
Element LongitudeDegrees
Text
EndElement LongitudeDegrees
EndElement Position
Whitespace
Element AltitudeMeters
Element DistanceMeters
Element HeartRateBpm
Element Value
Whitespace
EndElement Trackpoint
--------------------------------------------------------
Element Trackpoint
Element Time
Element LatitudeDegrees
Text
EndElement LatitudeDegrees
Element LongitudeDegrees
Text
EndElement LongitudeDegrees
EndElement Position
Element AltitudeMeters
Text
EndElement DistanceMeters <====== Ab hier ist nur das EndElement
Element HeartRateBpm
Element Value
Whitespace
EndElement Trackpoint
------------------------------------------------
Element Trackpoint
Element Time
Element LatitudeDegrees
Text
EndElement LatitudeDegrees
Element LongitudeDegrees
Text
EndElement LongitudeDegrees
EndElement Position
Element AltitudeMeters
Text
EndElement DistanceMeters
Element HeartRateBpm
Element Value
EndElement Trackpoint
-------------------------------------------------------------
Element Trackpoint
Gruss Lothi; der verwirrt ist
Hallo
Also nichts für ungut aber:
Das Programm wird von absoluten DAU's betrieben, die Meldungen wirklich lesen bevor sie sie wegklicken, das erklärt auch dein problem Tarion ..
Ich weiss ich kenne diese Probleme wenn sich Programme anders verhalten als man es gewohnt ist, doch der durchschn doch als Programmierer will ich eben eine Bestätigung vor den schließen
Schlimmer ist es wenn sie irgendwie draufklicken und dann das Programm nicht mehr starten können weil sie nicht wissen wie ..
Tschuldigung, aber so etwas von überheblich. Es gibt DAUS die schlauer sind als der Programmierer.
(letzer Kommentar von mir)
Gruss Lothi
Hallo
Wenn das Datum in der Access-Datenbank ein DateTime ist, musst du das Datum in der SQl mit ## umschliessen.
Wenn du mit Variablen in C# arbeitest mach es mit Parameter.
Gruss Lothi
Hallo
Das Problem habe ich mit Vista auch. Bei "Dokumente und Einstellungen", Benutzer u.s.w passiert das gleiche.
Ich filtriere die Deutschen Namen jetzt mit einer Fehlerbehandlung raus und es bleiben nur noch die englischen Namen übrig.
Wieso das so ist weiss ich nicht. Ich tippe auch eher auf Alias Namen, aber dann sollte das gleiche auch auf französchischen oder italienischen Systemen auftreten.
Gruss Lothi
Hallo
Nein viele werden es nicht.
Wenn ich die Bilder grösser mache, blinket das erste Bild auf und flutsch weg ist es wieder.
Mit einer TextBox funktionierts, wenn
MultiLine = false
ist, mit
MultiLine true
gehts wieder nicht.
Bei einem Panel mit dem Hintergrund blau gehts auch wieder nicht.
Debug Ausgabe:
MultiLine = false
Erste: {Width=100, Height=20}
2
\**************************************************************
Grösse: {Width=100, Height=20}, Position: {X=3,Y=3}
C:\\Users\lothi\Pictures\2008-10\24102008027.jpg
\**************************************************************
\**************************************************************
Grösse: {Width=100, Height=20}, Position: {X=109,Y=3}
C:\\Users\lothi\Pictures\2008-10\24102008028.jpg
\**************************************************************
Debug Ausgabe:
MultiLine = true
Erste: {Width=100, Height=100}
2
\**************************************************************
Grösse: {Width=100, Height=0}, Position: {X=3,Y=3}
C:\\Users\lothi\Pictures\2008-10\24102008032.jpg
\**************************************************************
\**************************************************************
Grösse: {Width=100, Height=0}, Position: {X=109,Y=3}
C:\\Users\lothi\Pictures\2008-10\24102008033.jpg
\**************************************************************
Jetzt werde ich das ganze mal auf einem TableLayoutPanel erstellen.
Gruss Lothi
Guten Morgen
Folgendes Problem:
Ich möchte in einem FlowLayoutPanel Bilder zuweisen.
Dazu habe ich folgenden Code:
public void Add(string FullPath, Image Picture)
{
if (Picture == null || String.IsNullOrEmpty(FullPath)) return;
if (!_imagelist.ContainsKey(FullPath))
{
SuspendLayout();
_newpic = new PictureBox();
_newpic.Width = 80;
_newpic.Height = 80;
_newpic.Image = Picture;
_newpic.Tag = FullPath;
_newpic.Dock = DockStyle.Fill;
_newpic.SizeMode = PictureBoxSizeMode.Zoom;
_imagelist.Add(FullPath, _newpic);
//??????????????????????????????????????????????????????
Debug.WriteLine("Erste: " + _newpic.Size.ToString());
//??????????????????????????????????????????????????????
Control[] cs = _imagelist.Values.ToArray();
Controls.AddRange(cs);
ResumeLayout();
//??????????????????????????????????????????????????????
Debug.WriteLine(Controls.Count.ToString());
foreach (Control c in Controls)
{
Debug.WriteLine("**************************************************************");
Debug.WriteLine(String.Format("Grösse: {0}, Position: {1} \r {2}"
, c.Size.ToString()
, c.Location.ToString()
, c.Tag.ToString()));
Debug.WriteLine("**************************************************************");
}
//??????????????????????????????????????????????????????
}
}
Wenn ich ohne ohne SusbndLayout() arbeite bekomme ich folgende Ausgabe:
Erste: {Width=80, Height=80}
2
\**************************************************************
Grösse: {Width=80, Height=0}, Position: {X=3,Y=3}
C:\\Users\lothi\Pictures\2008-12\07122008097.jpg
\**************************************************************
\**************************************************************
Grösse: {Width=80, Height=0}, Position: {X=89,Y=3}
C:\\Users\lothi\Pictures\2008-12\07122008098.jpg
\**************************************************************
Die Höhe der PictureBox nach dem einfügen ist 0 und es wird nichts angezeigt. Beim erstellen der PictureBox ist die Höhe auf 80 Pixel
(Erste: {Width=80, Height=80})
Mit SuspendLayout() bekomme ich als Position immer 0 und die Bilder überlagern sich.
Wenn ich SuspendLayout() und ResumeLayout() benutze bekomme ich auch wieder eine Höhe von 0.
Wie bekomme ich denn nun die Fotos auf meinem Panel angezeigt.
Falls erwünscht habe ich ein Beispiel erstellt um zu testen ob dort er selbe effekt auftaucht. Und das hat es. Es liegt also an mir.
Gruss Lothi
Hallo
Ctrl+F gehört nicht dazu laut MSDN:
STRG+Z
STRG+E
STRG+C
STRG+Y
STRG+X
STRG+RÜCKTASTE
STRG+V
STRG+ENTF
STRG+A
UMSCHALTTASTE+ENTF
STRG+L
UMSCHALTTASTE+EINFG
STRG+R
In den Eigenschaften der Form kannst du das Maximieren und Minimieren abstellen.
"undo/redo geht ebenfalls nicht" wie man das macht gibs hier im Forum auch ein Beispiel
Re- /undo
-->edit: Vergessen Tastenkombination funktionieren!
Wenn du einen Texteditor suchst findest du sicher im eine Komponente die das alles kann.
Ich glaube auch das hier im Forum weiter führenden links für ein Texteditor gibt.
Gruss Lothi
Hallo
Da ist so etwas mit eingebaut.
Sonst einfach aus einer Form nachbauen.
Gruss Lothi
Hallo
Der Button, der den Event auslöst liegt im sender verborgen. Über den sender kriegst du dann den Namen des Button raus oder du kannst in der Tag-Eigenschaft beim erstellen des einzelnen Button irgend etwas angeben was den Button idendifiziert
Gruss Lothi
Hallo
Ich habe jetzt nicht genau verstanden um was es geht, aber es sollte doch zwei Tabelle reichen
tblAttachment
id
idArt --> Frage, Antwort, Sonnstiges
tblKommentare
id
idArt --> Fragen, Antwort, Sonntiges
id_Attachment
Gruss Lothi
Hallo
Und wie hast du die Datenbank erstellt? Um eine Datenbank zu erstellen musst du doch schon mal Zugriff zum Server gehabt haben.
Der Fehler zeigt ja an das du kein Recht hast deine Datenbank zu benutzten. Vielleicht hast du ja auch kein Recht von aussen auf die DB zuzugreifen.
Gruss Lothi
Hallo
Der Provider ist auch nicht schuld am Fehler.
Da kann ich dir nicht helfen.
Hast du denn es jetzt mal mit dem phpAdmin probiert?
Gruss Lothi
Hallo
laut Fehlermeldung kann der Username oder das Passwort nicht stimmen.
Ist der User nicht standartmässig ROOT?
Ausserdem würde ich bei mySQL nicht den ODBC Provider nehmen sondern den mysql .net provider. Kann man von der mySQL Webseite downloaden.
Schau doch wie du mit dem MySQLAdmin-Tool in die DB kommst, dann siehst du auch wie die Verbindungsfolge ist die du dann benutzten kannst.
Gruss Lothi
Hallo
Ja, das glaub ich dir.
Du benutzt COUNT(*) diese Funktion gibt 0 zurück, also steht in der ersten Zeile in der ersten Spalte 0 und nicht NULL.
Gruss Lothi