@e86
Wenn das Projekt sich für Mono bauen läßt, läuft die .exe auch direkt unter Linux, ohne das neu kompilieren zu müssen (War jedenfalls bei mir so), da beim kompilieren ja nur IL-Code erzeugt wird, der dann plattformunabhängig ist. Starten tust Du die Anwendung wie von cx° geschrieben.
@Rapthor
Mono und .NET verwenden verschiedene GACs, in denen die ganzen Framework-DLLs liegen. SharpDevelop kennt diesen Unterschied und man kann entweder Referenzen für .NET oder Referenzen für Mono zu einem Projekt hinzufügen.
Man sollte Mono-Referenzen für Mono-Projekte und .NET-Referenzen für .NET-Projekte benutzen. Partial Classes dürften dabei nur für das 1.1er Framework problematisch werden.
Hallo,
bin mir nicht sicher wie das unter 1.1 ist, aber unter 2.0 werden da Methoden für die DataRows erstellt, die heißen abhängig von den Spaltennamen IsSpaltennameNull() und SetSpaltennameNull(), die musst Du benutzen um auf einzelnen Feldern mit Null-Werten zu arbeiten. Die Insert/Update-Methoden kommen aber mit null als Übergabeparameter klar.
Hallo,
also irgendein Program muss auf den Clients auf jeden Fall angeschmissen werden, damit das klappen kann, und das ist auch gut so.
Ob das nun eins von Dir ist, das dann jeweils auf den Clients installiert bzw. gestartet werden muss oder einfach der Nachrichtendienst aktiviert wird, ist dann Geschmackssache, Tatsache ist und bleibt aber: Ohne laufende Anwendung auf dem Client kein Nachrichtenfenster.
Bei dem return Calc sagt er mir,dass Calc 4 Argumente fordert...was kann ich dagegen machen ?
Du übergibst doch 4 Argumente. Ich habe Deinem Code folgende Dummyfunktion mit 4 Parametern hinzugefügt
public static double Calc(double Lat1,double Long1,double Lat2,double Long2)
{
// Hier soll wohl die "eigentliche" Arbeit passieren, ich hab zum testen einfach mal 0 zurückgegeben:
return 0;
}
und das dann kompiliert. Keinen Fehler festgestellt, ist so gelaufen.
Hallo,
das liegt daran, daß du die gleiche Funktion einemal mit 12 (im Main()) und eimal mit 16 Parametern aufrufst... Dann wäre es vielleicht besser, die Funktion Calc() in beiden Varianten stehen zu lassen. Oder Du übergibst die Sekundenanteile auch an Dein Main() und rufst dann mit allen 16 Parametern auf.
Die gleiche Funktion mit verschiedener Anzahl typisierter Parameter Aufrufen geht in C# nicht, aber dafür gibts ja eben die Polymorphie
Keine Überladung für die Methode Calc erfordert 16-Argumente
Das ist klar. Die Methode Calc erwartete ja auch nur 12 Argumente -> du hast keine Übergabegabeparameter für die Sekundenanteile!!
Ansonsten ist das glaube ich schon ganz ok wie's ist. In der Methode Calc solltest Du allerdings statt
double NS1Sign = NS1.ToUpper() == "N" ? 1.0 : -1.0;
Hallo Stube,
Du hast in Deinem letztem Post vergessen zu schreiben worin Dein aktuelles Problem eigentlich besteht... Also, was klappt denn noch nicht? Wenigstens ein Hinweis, damit man sich nicht durch den ganzen Code fressen muss um nach einem Fehler zu suchen, den man nicht kennt 8o
Hallo,
wenn Du die Klassen aus meinem oben angehangenen Code nutzt, sieht dioe Sache so aus, da kannst Du auch direkt die aus Deinem String geparsten Werte verwenden:
using MarsStein.Geometry;
//---------
Angle latitude = Angle.Create(78,5,17);
Angle longitude = Angle.Create(52,3,15);
PolarPoint p1 = new PolarPoint(longitude,latitude);
latitude.SetDegrees(72,3,5);
longitude.SetDegrees(-14,5,18); // <-- das "-" im ersten Parameter steht für West.
PolarPoint p2 = new PolarPoint(longitude,latitude);
AngleBase distanceAngle = p1.DistanceTo(p2);
double distanzAufDerErde = distanceAngle.Radians * ErdRadius;
EDIT:
Du kannst mal schauen was im mittleren Teil der Seite über das Verändern der Projektdatei usw. gesagt wird, und das mit den generierten Projektdateien vergleichen, vielleicht gibtsja da noch einen Bug...
Hallo,
ich verstehe nicht warum das mit VMWare bei Dir nicht richtig funzt.
Hatte das Programm mal vor nem Jahr ungefähr installiert und fand's ziemlich gut, auch von der Performance her. Dabei hatte der Rechner 1800MHz und "nur" 768MB RAM insgesamt, von dem ich die Hälfte der VM gegeben hab.
Lief aber wie gesagt alles ziemlich rund...
Hallo,
ich vermute irgendetwas ist an Deiner .NET Framework 2.0 Installation korrupt:
Bei mir ist definitiv kein CF installiert. Aber diese Datei "Microsoft.CompactFramework.Common.targets" ist trotzdem an Ihrem Platz, gehört also zum Nicht-Compact-Framework.
Hallo,
ich habe ein ähnliches Problem so gelöst dass am Start des Programms überprüfe, ob meine Einstellungsdatei da ist und alle Einstellungen korrekt gelesen werden können. Ist das der Fall, startet das Programm mit dem Hauptfenster. Andernfalls startet ein Konfigurationsfenster und erst nach erfolgreichem Speichern der Einstellungen startet dann das Hauptfenster... Dann kommt die Abfrage NUR beim ersten Start, oder wenn die Datei gelöscht oder unbrauchbar gemacht wurde.
@wdb.lizardking
Umkreissuche: dafür musst du doch wahrscheinlich sowieso jedes zu untersuchende Objekt testen. Berechne dabei die Entfernung zum Zentrum mithilfe Deiner Formel. Ist Sie kleiner als der Radius, hast Du einen Treffer.
Direkt an geogr. Position abzulesen ob Du in dem entsprechenden Kleinkreis bist, würde wahrscheinlich sowieso bedeuten, genau diesen Schritt einfach in eine Funktion zu kapseln, die dann nur noch einen Boolean zurückliefert...
Hallo,
ist das nicht so was ähnliches wie zu versuchen das "stehlen" von Bildern aus Webseiten dadurch zu verhindern, daß man das Kontextmenü der Seite sperrt? Ich würde einfach mal davon ausgehen, dass alles, was auf dem Bilschirm des Benutzers angezeigt wird, dieser auch in irgendeiner Form speichern kann. Ob das so einfach über PrintScreen geht oder man noch ein bisschen Aufwand treiben muss -> an das Bild wird man IMHO auf jeden Fall irgendwie kommen (wenn man wirklich will).
Hallo,
Du kannst die Versionsnummern sehen wenn Du einfach den Ordner
C:\WINDOWS\Microsoft.NET\Framework
aufmachst. Das ist wenn ich das richtig sehe immer gleich, wenn es die Release-Versionen sind, unabhängig von Updates, sonst käme man ja in Teufels Küche:
2.0.50727 für .NET 2.0
1.1.4322 für .NET 1.1
1.0.3705 für .NET 1.0
Hallo,
hier mal die Solution für die dll mit den Klassen Angle und PolarPoint.
Für Dich wären die Methoden Angle.SetDegrees(short deg, short min, short sec) und PolarPointBase.DistanceTo(PolarPointBase pp) interessant. Da kannst Du abgucken oder einfach die Klassen benutzen, aber ich fürchte fast daß das für Deine Zwecke etwas "oversized" ist.
Edit: Die Entfernung kommt als Winkel raus, wenn Du km haben willst musst du das noch auf den Erdball umrechnen ;-)
Hallo Stube,
ich arbeite privatan einem Projekt zur Darstellung des Sternenhimmls, da bekomme ich sehr viel mit Winkeln und Polarkoordinaten (wie geogr. Länge und Breite) zu tun. Ich habe für beidee bereits je eine Klasse entwickelt, aber die Distanz zwischen zwei Punkten bisher nicht als Funktion, den Code aber bereits zur internen Nutzung fertig...
Du hast mich gerade auf die Idee gebracht, das noch einzubauen -> ein sehr sinnvolles Feature!! Danke.
ich kann Cord Worthmann nur beipflichten: AJAX ist einfach super und läuft mit den allermeisten Browsern. Gibt's übrigens nicht nur für dotnet. sondern auch für c++, php, perl, etc.
foreach (int i in outp.ReadLine())
{
String OUTP;
OUTP = outp.ReadLine();
try
{
if (OUTP.Contains(input))
{
Console.WriteLine(OUTP);
Console.WriteLine();
Console.WriteLine(i);
a++;
throw new NullReferenceException();
}
}
catch (NullReferenceException) {}
finally { }
}
Console.WriteLine();
Console.WriteLine(a++ + " Results");
}
Die foreach-Schleife kannst Du Dir komplett sparen, die ist an dieser stelle auch unsinnig. --> Was bezweckst Du damit??
Du liest nämlich nur genau die Anzahl an Zeilen, die die erste Zeile an Zeichen hat. Du solltest aber so lange lesen, wie Du aus der Datei noch neue Zeilen bekommst -> da bietet sich eine while-Schleife an.
@vicon
hast Du Dich da evtl. vertan oder hab ich was nicht mitgekriegt? Ich wüßte nicht wie ich in einer ASPX-Anwendung einen Tastendruck auf dem Client auswerten sollte mit serverseitigem Code, dazu muss ja schon ein Post laufen...
Hallo,
MasterPages sind dafür gut, dynamische Inhalte immer wieder in das selbe Layout zu packen, ohne daß man das Layout in einer Seite immer neu schreiben muss. Alle statischen Inhalte können in die MasterPage gepackt werden, die dynamischen Inhalte werden über die ContentPlaceHolder gesteuert.
Wenn z.B. Dein Header und Footer statisch wären, könntest Du diese auch direkt in der Masterpage einbauen (ohne Placeholder). Dann würden Sie immer angezeigt, wenn eine Seite aufgerufen wird die die Masterpage benutzt.
Wenn sich Header und Footer aber ebenfalls ändern sollen, kannst Du dafür jeweils ein ascx-Control basteln und dieses in der Masterpage einbinden. Dann ist jedenfalls für das richtige Layout gesorgt.
Hallo,
ich glaube nicht daß Du das mit einer MasterPage so machen kannst. Es wird ja von Client schließlich nur die Content.aspx angefragt, die sucht sich Ihre Masterpage und trägt die PlaceHolder ein, die sie hat. Dann wird die Seite ausgeliefert. Die MasterPage selbst hat ja dann keine Ahnung davon, woher Sie den Header und Footer besetzen soll.
Wenn Du das alles aufteilen willst, um z.B. Header und Footer auch in anderen Dateien zu verwenden, bieten sich UserControls (.ascx) an.
Hallo,
Du kannst mit JavaScript das "onkeydown" bzw. "onKeyPress"-Event für die ganze Seite implementieren. Dann erhälst Du alle Tastatureingaben und kannst entsprechend reagieren und das Event als erstes behandeln, unabhängig davon wo der Focus steht. Wenn Du das Event behandelt hast, gibst Du aus dem Handler true zurück, dann wird das Event abgebrochen. Andernfalls (andere Taste) gibst Du false zurück und das Event wird weitergereicht und standardmäßig behandelt.
Mehr zu JavaScript und EventHandlern findest du im SelfHTML