Hallo,
Ich habe ein Bild und möchte dort gerne rein und rauszoomen und verschiedene Ausschnitte anzeigen ( es soll soetwas ähnliches sein wie bei www.google.de/maps)
ich kenn mich nicht sonderlich gut aus, mit der Darstellung von Bildern im Netz und wäre dankbar, wenn ihr mir ein paar Stichpunkte geben könntet, wie sich sowas realisieren läßt, damit ich mich dann weiter informieren kann.
Danke für eure Hilfe
Nele
Ich hab es jetzt mit MeasureString versucht
float w= g.MeasureString(pinname,new Font("Verdana",8)).Width;
float h= g.MeasureString(pinname,new Font("Verdana",8)).Height;
Matrix Y = new Matrix();
int transX = (int)(pinRect.X + (w*0.5)+0.5);
int transY = (int)(pinRect.Y + (h*0.5)+0.5);
Y.RotateAt((float)(degree),new Point(transX,transY));
g.Transform=Y;
g.DrawString(pinname,new Font("Verdana",8), Brushes.Black, (float)(pinRect.X), (float)(pinRect.Y), drawFormat);
g.ResetTransform();
Y.Dispose();
es ändert sich aber nichts an der Position. Der String liegt weit weit vom zu beschriftenden Objekt(PinRect) weg ( weiter als die Länge vom String is)
Vielleicht siehst du ja noch einen Fehler im Code? Wäre wirklich toll ... 🙂
Danke für den Tipp herbivore.
Ich habe dazu noch 2 Fragen.
Ich führe das an einem Beispiel aus:
g.DrawString("test1",new Font("Verdana",8), Brushes.Black, (float)(transX), (float)(transX), drawFormat);
Matrix Y = new Matrix();
int transX = 100;
int transY = 100;
Y.RotateAt((float)(degree),new Point(transX,transY));
g.Transform=Y;
g.DrawString("test2",new Font("Verdana",8), Brushes.Black, (float)(transX), (float)(transX), drawFormat);
g.ResetTransform();
Y.Dispose();
Müßten jetzt nicht beide test Strings an der gleichen Stelle stehen - der eine auf dem Kopf und der andere richtig rum? (Das is bei mir nich der Fall - die beiden Strings liegen weit auseinander)
Ich habe ja 2 RotateAt's die so ineinander verschachtelt sind:
Matrix X
X. RotateAt
for i=0;i<10;i++)
{
Matrix Y
Y.RotateAt
g.Transform
g.ResetTransform
}
g.ResetTransform
Wird da durch das erste ResetTransform auch die Rotation mit der Matrix X zurück gesetzt? Wenn ja, kann ich das irgendwie umgehen??
Danke für deine Hilfe
vG
Nele
Hallo,
ich habe ein kleines Problem und hoffe Ihr könnt mir vielleicht weiter helfen. 😁
Ich zeichne verschiedene Figuren (Rechtecke, Kreise...) in ein Graphiks-Objekt g.
Zwischenzeitlich drehe ich g mit
Matrix X = new Matrix();
X.RotateAt((float)(- degree),new Point((int)(posX+0.5),(int)(this.heigth-posY+0.5)));
g.Transform=X;
und zeichne dann ein paar Rechtecke und beschrifte sie.
Danach dreh ich g wieder zurück
Mein Problem ist jetzt. Wenn ich zB um 180 Grad drehe, steht die Beschriftung auf dem Kopf - ich kann aber auch nicht erst zurückdrehen und dann beschriften, weil die Beschriftung dann an der falschen Stelle ist.
Meine Frage nun: Gibt es eine Möglichkeit bei der drawString Methode vom Graphiks-Objekt die Schrift um einen beliebigen Winkel zu drehen?
Oder kann man das Problem irgendwie anders lösen?
Vielen Dank für Eure Hilfe
Viele Grüße
Nele
Hallo,
ich habe ein Problem in c#
Manchmal passiert es mir, dass ich einen Fehler einprogrammier und beim anschließenden Testen - die Webapplication nicht beendet.
Wenn ich das Programm (duch Schließen des Browserfensters oder durch beenden des Debugmodus) hängt sich Visual Studio auf und der Webserver läßt sich nicht mehr starten. Das ende vom Lied ist, dass ich den Pc neu starten muß.
Wäre toll, wenn mir jemand helfen könnte.
Danke
Nele
Guten Morgen,
ich öffne 2 Browserfenster indem ich die Funktion Javascript openwindow in C# aufrufe
private void ListBox3_SelectedIndexChanged(object sender, System.EventArgs e)
{
...
string openScript = "<script language= JavaScript>" +
"openwindow('"+Adresse+"', '"+Adresse2+"');"+
"</script>";
Page.RegisterClientScriptBlock("open", openScript);
}
<script language="javascript">
var Modulwindow;
var Signalwindow;
function openwindow(modul, signal)
{
Modulwindow = window.open(modul,'viewModul','width=1270, height=880, scrollbars=yes, status=yes, resizable=yes, left=0, top=0, menubar=yes, toolbar=yes ');
Signalwindow = window.open(signal,'SignalChoice','width=140, height=800, scrollbars=yes,resizable=yes, left=1100, top=10');
}
function closewindow()
{
Modulwindow.close();
Signalwindow.close();
}
</script>
nun möchte ich die Fenster auf die gleiche Weise wieder schließen
private void Reset_Click(object sender, System.EventArgs e)
{
string closeScript = "<script language= JavaScript>" +
" closewindow();" +
"</script>";
Page.RegisterClientScriptBlock("close", closeScript);
}
Leider erhalte ich die Fehlermeldung. 'Modulwindow' ist Null oder kein Objekt
Ich glaube, es liegt daran, dass ich ein Postback Ereignis auslöse.
Hat jemand eine Idee wie ich die Fenster wieder geschlossen bekomme?
Vielen Danl für Eure Hilfe
Nele
Vielen lieben Dank für Eure Hilfe. 😁
Jetzt funktioniert es 👍
Nele
Hallo,
ich hatte garnicht bemerkt, dass noch neue Antworten in dem Thread sind 8o
Ich habe immernoch das gleiche Problem, daher schreib ich hier nochmal rein, in der Hoffnung auf Hilfe 😁
also ich ruf mir beim Ändern der Fenstergröße die Weite und Höhe des Fensters auf
die Werte habe ich also in Variablen im javascript teil gespeichert.
Mein Problem besteht jetzt darin, die Variablen zu übergeben
<body id="bodytag" MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:imagebutton id="ImageButton1" style="Z-INDEX: 100; LEFT: 24px; POSITION: absolute; TOP: 40px" runat="server" Width="50px" Height="50px"></asp:imagebutton>
form>
<script language="javascript">
// für Höhe und Breite des Browser Fensters
var h = document.body.clientHeight;
var w = document.body.clientWidth;
</script>
</body>
Weiß jemand Rat?
Danke
Nele
Hallo nochmal,
habe alles nochmal durchdacht und es würde auch mit Bildern funktionieren bzw. Imagebutton (auch wenn nur der oberste Button beim Klick angesprochen wird)
Bin für jeden Hinweis dankbar 😁
Viele Grüße
Nele
Danke Xynratron,
Daran dass ich nur den obersten Button beim klicken bekomme, habe ich garnicht gedacht, da muß ich meine Umsetzung nochmal überdenken. 8o
Gruß
Nele
Hi Kai,
ich möchte 2 Bilder zeichnen und die dann jeweils in einem Imagebutton darstellen.
Zum Beispiel:
Das erste Bild enthält die Städte von Deutschland und das zweite dann die Verkehrsverbindung zwischen München und Hamburg.
Klar das könnte man in einem Bild unterbringen, aber ich will dann noch ein dritten Button drüberlegen mit der Verbindung von München nach Berlin und dann will ich jeweils einen Button ausblenden (zB mit einer Checkbox)
Gruß
Nele
Hallo,
Ich habe bis jetzt nur Artikel über die Transparenz bei PictureBoxen gefunden und daher eröffne nich ein eigenes Thema und hoffe auf eure Hilfe 😁
Ich möchte gerne 2 Imagebutton übereinander legen und den oberen Button durchsichtig machen, sodass man das Bild des unteren Button sieht.
Kann mir jemand helfen oder mir einen Tipp geben??
Vielen Dank für eure Hilfe
Nele
Hallo,
ich kenne mich mit PL/SQL nicht sogut aus und finde zu meiner Frage auch im Netz keine Antwort. Daher stelle ich sie mal hier:
Ich möchte gerne aus einem Trigger einer Oracle 10.2 Datenbank eine Abfrage auf eine andere Datenbank ausführen und das Ergebnis in einem Cursor oder einem anderen Datentyp speichern.
Kann mir jemand einen Tipp geben, ob und wie das funktioniert.
Vielen Dank
Nele
Hallo,
ich beschäftige mich seit kurzem mit einer Oracle Datenbank 10.2 und habe ein Problem, wobei Ihr mir hoffentlich helfen könnt 🙂
Ich habe 2 Tabellen
Tabelle1 mit den Spalten
Index | Nummer | Name | sonstiges
1 | 200 | A0 | C1
2 | 200 | A10 | D2
3 | 200 | D1 | D1
4 | 200 | D1 | B2
Tabelle2
ID Gruppe Ausprägungen
1 | A | ^A[0-9]{1,}.*
2 | D | .D[0-9]{1,}.
3...
Ich habe mir nun eine Abfrage gebastelt, die mir ausgibt zu welcher Gruppe die einzelnen Einträge der Tabelle1 gehören
SELECT DISTINCT name, Gruppe
FROM Tabelle1, Tabelle2
WHERE REGEXP_like(name, Ausprägung) AND (Nummer ='200')
Die Abfrage liefert auch die gewünschten Ergebnisse, sie ist nur unheimlich langsam. Es dauert 15 Sekunden bis die Daten angezeigt werden. 🙁
In Tabelle1 sind mehrere 1000 Einträge und in Tabelle2 ca.20.
Hat jemand eine Idee wie es besser geht?
Vielen Dank
Nele
Danke für deine Antwort ikaros.
Mit javascript hab ich es schon probiert, aber, wie schon geschrieben, schaff ich es nicht die Werte die ich habe dem Imagebutton zuzuweisen.
Da bin ich vielleicht im falschen Forum ?
Nele
Hallo,
ich möchte gerne wenn sich die Größe des Browserfensters ändert, dass sich auch die Größe des Imagebutton ändert.
Kann mir jemand sagen, wie ich die Größe des Browsers(IE) in c# ermitteln kann?
Oder vielleicht geht es ja mit javascript:
da erhalte ich die Größe mit
document.body.clientHeight;
document.body.clientWidth;
mein Problem besteht jetzt, darin dem Imagebutton diese Werte für seine Width/Height Eigenschaft zu übergeben. Kann mir da vielleicht jemand helfen?
Vielen Dank für Eure Hilfe
Nele
Hallo,
ich habe folgende Abfrage
Select Distinct name From Signal Where name Not In
(SELECT DISTINCT name FROM Signal, SignalGroups
WHERE name Like SignalGroups.Signal)
Hat jemand vielleicht eine Idee wie ich es besser geht. Diese Abfrage braucht unheimlich viel Zeit.
Vielen Dank
Nele
Hat sich schon erledigt. Hatte eben einen Gedankenblitz
* wird in c# nicht erkannt --> änder ich * in % funktionierts.
Manchmal muß man das Problem eben nur mal aufschreiben 😁
Nele
Hallo
ich habe eine query in C# die so aussieht.
query="SELECT DISTINCT name FROM Signal, SignalGroups " +
"WHERE Signal.name like SignalGroups.Signal ";
mein Problem ist, dass diese Abfrage keine Ergebnisse zurück liefert. Wenn ich diese Abfrage, aber in Access ausführe wird wunderbar alles angezeigt was ich will.
Mit anderen Abfragen funktioniert das Programm auch nur eben nicht mit dieser.
Die Einträge des Feldes SignalGroups.Signal habe die Form: A, S... ( wenn ich die Einträge abändere in zB [A-Z]A, [A-Z]S funktioniert die Anfrage....)
Kann mir jemand vielleicht einen Tipp geben, wie ich die Abfrage zum laufen kriege?
Vielen Dank
Nele
Danke herbivore und Vinx
habe jetzt verstanden was ihr meint =)
Viele Grüße
Nele
?(
das hab ich gemacht und daraufhin war die erste Sortierung hinfällig.
Mein erster Comparer
public int Compare(object objA, object objB)
{
string[] al1 = (string[]) objA;
string[] al2 =(string[]) objB;
int value1= Convert.ToInt32(al1[1].ToString());
int value2 = Convert.ToInt32(al2[1].ToString());
return value1.CompareTo(value2);
}
mein zweiter Comparer
public int Compare(object objA, object objB)
{
string[] al1 = (string[]) objA;
string[] al2 =(string[]) objB;
return String.Compare( al1[1].ToString(), al1[1].ToString());
}
Der Aufruf beider Comparer:
myList.Sort(new Comparer1());
myList.Sort(new Comparer2());
Hallo,
ich habe eine ArrayList die aus einem Array mit 2 Einträgen besteht. Ich sortiere diese ArrayList nach dem 2ten Eintrag mit ArrayList.Sort(eigenerComparer). Was auch zufriedenstellend funktioniert.
Jetzt möchte ich diese sortierte Liste nochmal nach dem 1ten Eintrag sortieren.
Mal ein Beispiel (die Liste nach dem ersten Sortieren:
Eintrag1 Eintrag 2
LR 1
BGR 1
A 1
RTZ 3
BRT 10
A 10
und so soll die Liste letztendlich aussehen:
A 1
BGR 1
LR 1
RTZ 3
A 10
BRT 10
Hat jemand eine Idee wie ich das umsetzen kann?
Einfach die Liste zweimal sortieren funktioniert nicht 😁
Vielen Dank
Nele
Zitat:
Original von Nele
Das muß einem ja gesagt werden, dass das erst 20 Min nach dem Schließen passiert.ähmm... eigentlich wurde das chon des Öfteren erwähnt
Gut dann hab ich das nicht mitbekommen, dachte es war gemeint 20 Min nachdem der Benutzer nix mehr macht oder beim Schließen. 😁
Vielen Lieben Dank für Deine Hilfe Kai 🙂
Hab ich mir schon gedacht das Access das nicht kann X(
Danke für Eure Hilfe
Nele
8o Das muß einem ja gesagt werden, dass das erst 20 Min nach dem Schließen passiert. 😁
Ich würde die Daten lieber in der Application.End löschen ( weil die sollen ja bleiben auch wenn der Nuter 20 Min nix macht)
Ich hab es aber noch nicht geschafft, dass die Methode ausgeführt wird. Passiert das auch erst Minuten später? =)
Eigenartig,
bei mir reagiert die Methode nicht wenn ich den Browser schließe.
Ich muß während die Application läuft ein paar Dateien auf dem Server speichern. Da aber viele diese Application verwenden, möchte ich den Server nicht zumüllen mit den Daten die man sowieso nach beenden der App. nicht mehr braucht und daher wollte ich sie eben löschen.
Kann doch nicht so schwer sein, sollte man meinen 😉
Session_OnEnd reagiert nur nach Ablauf einer bestimmten Zeit und nicht beim Schließen des Browsers 🙁
(Oder vielleicht doch nicht?)
Hallo,
ich habe die Methode zum Löschen der Daten schon ausprobiert indem ich sie einfach an einer anderen Stelle ausgelöst hatte.
Es funktioniert einwandfrei.
Leider hilft mir Session_OnEnd auch nicht weiter. Gibt es denn keine Möglichkeit eine Methode auszulösen wenn das Browser Fenster geschlossen wird? 🤔
ich benutze Access 2003
Das wär ja toll wenn du mir da helfen könntest 😁
Ja *( beliebig viele Zeichen) und ?(ein Zeichen) gibt es auch in SQL. Das Problem bei der Sache ist nur, dass da alle Zeichen angegeben werden.
Ich hab das Gefühl es gibt nur die 2 Platzhalter (also jetzt keinen speziellen für Zahlen)
Da muß ich mir doch irgendetwas anderes überlegen 😭
Danke
Nele
Das hätte ich vielleicht dazu sagen sollen
Ja, es gibt auch Einträge wie AB, aber auch Einträge wie A0R
habe deine Variante probiert Bernd aber da werden blöderweise auch die Einträge A0R gefunden ( die ich aber nicht haben will 😭 )
Gruß
Nele
Hallo,
ich habe eine Tabelle mit folgenden Einträgen
A1
A2
A3
A10
A11
A13
B1
B2
...
nun wollte ich alle Einträge mit A + Zahl filtern mit ... like 'A[0-999]' das funktioniert aber nicht richtig (es werden nur die A angezeigt die 1 Zahl haben)
und wenn ich es mit ...like 'A[0-9][0-9]' versuche werden nur die angezeigt die 2 Zahlen haben also A10,A11,A12
Gibt es eine andere Möglichkeit diese Abfrage zu realisieren als
... like ' A[0-9]' OR like 'A[0-9][0-9]' ... ?
Danke für Eure Hilfe
Nele
Danke für deine Antwort.
Ich habe probiert die Daten in der Global.asax in der methode
protected void Session_OnEnd(Object sender, EventArgs e)
{
}
zu löschen, leider wird diese methode auch nicht aufgerufen.
Was mach ich falsch? 🙁
Hallo,
ich möchte gerne die Page_Unload methode aufrufen wenn die Seite geschlossen wird und dann ein paar Files löschen. Den Code habe ich getestest indem ich einfach eine andere Methode aufgerufen habe, aber wenn ich den Code in die Page_Unload methode schreibe, passiert garnichts. 😭
Muß ich noch irgendetwas beachten damit die Page_Unload methode ausgeführt wird?
private void Page_Init(object sender, System.EventArgs e)
{
writepath=Server.MapPath(@"Data\");
UserMachineName= Request.UserHostName;
split = UserMachineName.Split(new Char [] {'.'});
try
{
UserMachineName=split[0];
}
catch (Exception)
{}
DIunload= new DirectoryInfo(writepath);
FIunload=DIunload.GetFiles("*"+UserMachineName+"*");
}
private void Page_Unload(object sender, System.EventArgs e)
{
foreach(FileInfo f in FIunload)
{
f.Delete();
}
}
Vielen Dank für Eure Hilfe
Nele
Eben weil die Page_Init nur einmal aufgerufen wird, dachte ich dort könnte ich die Datenbankabfrage implementieren, damit sie nur beim ersten Aufruf der Seite durchgeführt wird. Jetzt weiß ich es besser 😉
Gut zu wissen Kai. Ich hatte schon versucht mit dem ViewState zu arbeiten und es hatte auch nicht funktioniert. Ich habe deinen Rat befolgt und und lade die Daten in der Page_load und verwende das ViewState - und jetzt funktioniert es eigenartigerweise 8o
Sollte es wirklich nur daran gelegen haben, dass ich das ganze in der Page_init versucht hatte? 🤔
Also vielen Dank für deine schnelle Hilfe 🙂
@talla - hatte mich schnell angemeldet, weil mich dieses Problem so beschäftigt hatte. Werde mir das Forum genauer ansehen und in Zukunft auf solche Sachen achten 😁
Einen schönen Tag wünsch ich
Nele
Hallo,
ich bin neu hier und habe gleich ein Problem und hoffe ihr könnt mir helfen =)
Ich programmiere eine Asp.net Anwendung und habe eine WebForm erstellt.
Ich möchte aus einer Datenbank Daten in eine ArrayList laden, wenn sich die Seite aufbaut. ( habe diese Funktion in der Page_Init implementiert)
Nun möchte ich in einer anderen Methode auf diese ArrayList zugreifen und dort einen bestimmten Eintrag suchen. Das klappt auch wunderbar.
Mein Problem ist folgendes: Ich möchte nicht, dass bei jedem Postback erneut die ArrayList gefüllt wird und versuche das so zu umgehen
private ArrayList Hysmdb = new ArrayList();
private string[] dimension = new string[2];
private void Page_Init(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
this.Data = myConn.Hysmdb(..)
foreach( DataRow row in myTable.Rows)
{
dimension[0]=row[0].ToString();
dimension[1]=row[1].ToString();
Hysmdb.Add(dimension.Clone());
this.Data.Dispose();
this.myTable.Dispose();
}
Wenn ich nun auf die ArrayList zugreifen möchte in einer anderen Methode, ist diese leer ( ohne if(!Postback) { } funktioniert es)
Hat jemand eine Idee wie ich dieses Problem lösen kann??
Vielen Dank für eure Hilfe
Nele