Laden...

Forenbeiträge von deuceX Ingesamt 14 Beiträge

31.10.2006 - 11:37 Uhr

Ups... ich sollte nicht alles glauben, was meine Kollegen mir erzählen 😁
Hast natürlich recht ("Subject to the restrictions below, you may use the Software for any commercial or noncommercial purpose, including distributing derivative works."). Nun hab ich also zwei Lösungen zum ersten Problem.
Bleibt noch das zweite. 😉

30.10.2006 - 16:29 Uhr

Das OpenNETCF fällt (leider) wegen Lizenzgründen aus. Aber der Tipp mit GetSystemInfo() ist schon sehr gut gewesen 😁 Vielen Dank svenson 😉
There we go:


//...
[System.Runtime.InteropServices.DllImport("coredll.dll", SetLastError=true)]
static extern void GetSystemInfo(ref SYSTEM_INFO pSI); 

public struct SYSTEM_INFO 
{
	public uint dwOemId;
	public uint dwPageSize;
	public uint lpMinimumApplicationAddress;
	public uint lpMaximumApplicationAddress;
	public uint dwActiveProcessorMask;
	public uint dwNumberOfProcessors;
	public uint dwProcessorType;
	public uint dwAllocationGranularity;
	public uint dwProcessorLevel;
	public uint dwProcessorRevision;
}

//...
	SYSTEM_INFO si = new SYSTEM_INFO();
	GetSystemInfo(ref si);
//...

Nun brauch ich nurnoch ne Lösung für das .Net CF Versions Problemchen. Anybody? 😁

//Edit: dwOemId und dwProcessorLevel kommen irgendwie vertauscht zurück. Ist zwar merkwürdig... aber hey, hauptsache sie kommen überhaupt 😁

30.10.2006 - 15:34 Uhr

moin,
ich habe mal wieder eine Frage 😁

Und zwar bin ich in der unangenehmen Situation, dass ich die Architektur des Prozessors eines PDAs aus einer Applikation heraus auslesen muss. Die Applikation muss unter dem .Net CF 1.0 laufen. Hat soetwas eventuell schonmal jemand gemacht, oder weiß, wie man an diese Info herran kommt? Meine Recherche blieb bisher erfolglos 😭

Und dann noch ne kleine Zusatzfrage: Wie kann ich am besten die höchste .Net Version herraus, die auf einem PDA installiert ist? Wenn ich mit meiner .Net CF 1.0 Applikation System.Environment.Version abrufe, bekomm ich auch nur Version 1.0 zurück, auch wenn 2.0 installiert ist. Bringt mir also nichts...
Meine Idee wär zum einen die Registry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETCompactFramework). Allerdings gibt es die Registry-Klasse fürs' .Net CF 1.0 nicht. Zum anderen ginge es über die Version der mscoree.dll. Die FileVersionInfo-Klasse, die sich dafür anbieten würde, gibt es aber im .Net CF 1.0 auch nicht 😭

12.10.2006 - 21:20 Uhr

ok...ich habe es gerade nochmal genau so probiert, wie du es dort geschrieben hast. Es ging tatsächlich. In meinem Szenario hilft es dennoch nicht, da mybyte bei mir ein public const byte ist (hatte ich leider nicht erwähnt, da ich nicht dachte, dass es da von Bedeutung ist - sry). Und da wirsft er mir mit Cast den selben Fehler, wie ohne raus.

Das mit der krassen Ineffizienz von 16 bzw 8 Bit Werten war dann wohl noch nicht zu mir aufs Dorf vorgedrungen 😁
Ich dachte immer nur, dass 64 Bit Werte auf 32 Bit Maschinen so fürchterlich ineffizient sind.

Aber ok - wieder etwas dazugelernt

vielen Dank allen beteiligten und entschuldigt bitte meine Ignoranz bezüglich der MSDN 🤔

12.10.2006 - 20:38 Uhr

argh...ok...das hät mir eher jemand sagen sollen xD
aber danke für die Erklärung. Da weiß ich ja, womit ich morgen noch ein wenig Zeit verbringen kann 😭

Werden die erst bei Operationen hochgepuscht oder liegen die auch schon als 32Bit Werte im Speicher?

12.10.2006 - 18:54 Uhr

Habe ich probiert. Hat genau nichts gebracht 😉
Siehe mein erster Post

Hab schon einiges an Typecasts probiert, um ihm irgendwie zusagen, dass ich das Komplement mit vorzeichenlosen Zahlen haben will. Bisher brachte das aber keinen Erfolg.

short fällt aus, weil falscher Wertebereich. Und da bei der Applikation auf möglichst geringen Speicherverbrauch und kurze Laufzeit geachtet werden muss, nahm ich ushort, anstatt int, weil mir der Bereich genau reicht. 2 Byte mögen erst nich viel erscheinen - da in der Applikation aber eine ganze Menge von dem Zeug rumfleucht und sie auch performant auf PDAs laufen soll, macht das irgendwann schon was aus. Gäbs diesen Gesichtspunkt dabei nicht, hät ich sowieso gar nicht soviel mit Bitoperatoren rumgefrickelt. Aber wie gesagt: Speed ftw 😁

12.10.2006 - 16:00 Uhr

Danke für deine Antwort

Das geht - auch wenn das dritte Bit Math.Pow(2, 2) bzw 1<<2 ist 😉
So in etwa hab ich es jetzt auch erstmal gemacht.

Mir wär der Ansatz mit dem Komplement aber schon irgendwie lieber - allein schon, aus verletzter Eitelkeit 😁
Mit anderen ganzzahligen Typen hab ich sowas auch bereits in C++ gemacht. Nur irgendwie will es in C# nicht funktionieren.

Nunja... falls noch jemand eine Idee hat: ich bin für alles offen

Ansonsten läufts auch erstmal mit norman_timo's Variante ganz gut 😉

12.10.2006 - 13:32 Uhr

Hallo,

ich will in einer Zahl (ushort) ein Bit geziehlt "ausschalten". Das versuche ich momentan nach folgendem Schema:
myushort &= ~mybyte;
im ganz konkreten Fall ist mybyte gerade 0x04 (0000 0100) und vom Typ byte, weil ich das dritte bit in myushort ausschalten will.
Nun scheint der Compiler aber irgendwie mit vorzeichenbehafteten Zahlen rummachen zu wollen, denn ich bekomme beim kompilieren den Fehler "Konstantenwert '-5' kann nicht nach 'ushort' konvertiert werden."
Hab schon einiges an Typecasts probiert, um ihm irgendwie zusagen, dass ich das Komplement mit vorzeichenlosen Zahlen haben will. Bisher brachte das aber keinen Erfolg.
Kann mir evtl jemand sagen, wie ich den gewünschten Effekt erziehlen kann? ^^

10.10.2006 - 11:24 Uhr

Hallo,

mein VS .NET 2003 Pro hängt seit heute morgen jedes Mal, wenn ich eines meiner Projekte starten möchte. Erstellt wird noch alles sauber (lässt sich auch manuell starten). Aber wenn die Applikation gestartet werden soll, ist das komplette Studio eingefrohren und meine Applikation steht mit 56KB im RAM. Beides muss ich dann von Hand über den TaskManager killen.
Das ganze passiert mit jedem Projekt - und zwar wie gesagt seit heute früh. Gestern Nachmittag ging noch alles.
Hat evtl jemand eine Idee, woher dieses Problem kommen könnte? Oder noch besser eine Lösung dafür?
So ganz ohne vernünftiges Debuggen entwickelt sich das nämlich reichlich bescheiden ^^

05.10.2006 - 00:46 Uhr

Ich würde es etwa in der Art machen:
zuerst ein Query, der dir die Datensätze sortiert nach Orga und Periode zurückgibt:

SELECT Orga, Periode FROM Tabelle1 ORDER BY Orga, Periode

Durch das Resultset iterierst du durch und machst bei jedem Schritt etwas derartiges:

SELECT SUM(Summe_H) FROM Tabelle1 WHERE Orga = x AND Periode <= y

wobei x deine aktuelle Orga aus dem Resultset ist und y deine aktuelle Periode
Das was du da bekommst, kannst du dann mit

UPDATE Tabelle1 SET PeriodeBetrag = z WHERE Orga = x AND Periode = y

z ist hier dein SUM(Summe_H) von dem Query eins drüber.
Das lässt sich sicher auch irgendwie mit einer Stored Procedure in T-SQL lösen. Aber nicht mit mir 😁

Das ganze is zwar eher suboptimal und wird bei großen Datenmengen langsam werden. Aber wenn ich dein Problem richtig verstanden hab, tut (evtl.) es seinen Job.

Vielleicht hat purplestar ja morgen noch eine bessere Lösung 😉

04.10.2006 - 13:38 Uhr

INFORMATION_SCHEMA.COLUMNS ist ein View in dem alle Spalten mit diversen Eigenschaften (column_default, is_nullable, data_type, etc) verzeichnet sind.

SELECT column_name FROM information_schema.columns WHERE table_name = 'tabelle'

Der Query sollte das machen, was du willst 😉

04.10.2006 - 13:15 Uhr

Sieht in der Tat garnichtmal so gut aus mit dem Wrapper, weil da eine Win32 Assembly bei raus kommt.

Ich werd mich dann wohl mal ransetzen und selbst was schreiben 😭

02.10.2006 - 16:50 Uhr

Danke für den Tipp.

http://www.codeproject.com/cs/files/CABCompressExtract.asp
Das sieht zwar vom Ansatz her recht vielversprechend aus. Aber ich denke, dass es auf den WinCE Geräten Probleme geben wird. Ich komm zwar erst Mittwoch dazu, das mal auszuprobieren (morgen wird die Füße hochgelegt 😁 ). Aber in anbetracht der PDA Problematik wäre es nich schlecht, wenn jemand eine Alternative hat 😉

02.10.2006 - 15:55 Uhr

Hallo

Ich suche nach einer lib, mit der man in .NET CAB Files ein- und auspacken kann.
Mein Problem ist nämlich folgendes: Ein Archiv soll von einer Applikation (wahrscheinlich C# .NET 2.0) auf dem Desktopsystem zusammengepackt werden. Eine andere Applikation (wahrscheinlich Borland C++) soll schauen, was sie da gerade für ein Archiv vor sich hat und entsprechend ein paar Randbedingungen schaffen. Anschließend soll das Archiv auf einen PDA kopiert werden, wo eine dritte Applikation (wahrscheinlich C# .NET CF 1.0) das Archiv auspackt und entsprechende Aktionen ausführt. Das ganze soll, der ein oder andere wirds bemerkt haben, eine Art Setup werden.
Die C++ Seite ist kein Problem. Da stellt sogar MS selbst ein SDK zur Verfügung.
Nur die .NET Seite bereitet mir noch Sorgen. Kennt da jemand etwas geeignetes?
Mir würde an sich auch schon der MSZIP bzw LZX Algorithmus in C# genügen. Dann schreib ich mir den Rest eben selbst. Das Format is ja recht gut von MS beschrieben.

Ich habe auch schon überlegt zu Tar gepaart mit BZip2 zu greifen. Würdet ihr mir evtl. eher dazu raten?