Laden...

Forenbeiträge von sv00010kas Ingesamt 17 Beiträge

03.11.2023 - 20:57 Uhr

Ich habe das Problem jetzt gelöst.
Das Thema kann geschlossen werden.
Ich hatte die Post-Daten falsch übergeben und es nicht mitbekommen.

Wegen dem auf der Arbeit sein, dies ist es wohl falsch rübergekomen.
Ich hatte gemerkt, dass ich genervt davon bin, dass ich es nicht hinbekommen habe.
Was mir allerdings richtig auf den Nerv gegangen ist,
war dass ich dieses Thema eigentlich schon ein paar Tage früher is Forum schreiben wollte.

Ich hatte es allerdings immer wieder vergessen.
Dann habe ich mir gedacht, dass ich es einfach auf der Arbeit ins Forum schreibe,
bevor ich wieder nach Hause komme und es dort wieder vergesse.
Also habe ich es einfach auf der Arbeit ins Forum geschrieben,
weil ich den starken Verdacht hatte, dass wenn ich dies Zuhause machen wollte,
ich es wieder vergessen würde.

03.11.2023 - 18:10 Uhr

Mir ist da noch etwas aufgefallen, was ich vergessen hatte.
Die HttpClient Class zwingt mich meine Frameworkeinstellungen auf mindestens 4.5.1 einzustellen.
Dies bedeutet sollte aus irgendeinem Grund das Programm unbedingt auf Windows XP laufen müssen,
dann wäre dies absolut nicht möglich, weil das Framework 4.0 dort das letzte ist.
Deswegen hatte ich mich vermutlich auch niemals mit der await/asynch beschäftigt.

03.11.2023 - 14:12 Uhr

Zitat von Abt

Bitte nicht die Hilfsbereitschaft des Forums ausnutzen, weil Du keine Zeit oder Lust hast.

Mit Zeit oder Lust hat dies nichts zu tun.
Ich stelle mich zu blöde an und bin deswegen mit den Nerven am Ende.

03.11.2023 - 13:52 Uhr

Ich werde mir das Problem heute Abend nochmal anschauen und wenn ich noch konkrete Fragen habe, werde ich mich nochmal melden.

03.11.2023 - 12:44 Uhr

Zitat von Abt

Das Forum hilft Dir gern bei konkreten Problemen. Wir sind jedoch nicht Dein kostenloser Code-Generator, weil Du keine Zeit dafür hast.

Denke, dass Du dafür Verständnis hast.

Ich würde auch die asychrone Funktion verwenden, wenn es ich wüsste, wann der Quelltext vollständig geladen ist.

Dass das mit GetResponse fehlt, hatte ich gemerkt.
Mit einem Breakpoint drin, hatte es funktioniert, aber ohne Breakpoint rauscht die Funktion so schnell durch, dass ich als Ergebnis immer nichts bekomme.

03.11.2023 - 12:12 Uhr

Zitat von Abt

Und wieso probierst dann irgendwas (planlos?) aus statt 2-3 Minuten die Docs zu lesen, das erste Beispiel anzuschauen und es so zu machen, wie es funktioniert?
Verschwendest ja selbst Zeit.

Ich bin hier auf der Arbeit.
Das schreiben im Forum ist noch tolerierbar, weil zwischen den Antworten Zeit vergeht und ich normal weiterarbeite.
Wenn ich allerdings anfange zu debuggen oder irgendwelche Sachen zu lesen, dann bekomme ich Ärger.
Ich brauche die Lösung leider für mein Privat-Projekt.

03.11.2023 - 11:10 Uhr

Ich hatte versucht diesen Code in einen HttpWebRequest umzuwandeln (synchron).
Da ich es nicht hinbekommen habe, dachte ich, frage mal lieber nach.

Beim Umbau in einen HttpWebRequest ist das ganze vermutlich daran gescheitert,
dass ich nicht weiß, wie ich das Zuweisen der Header und POST-Daten dort richtig vornehme (weil andere Properties).

03.11.2023 - 07:54 Uhr

Ich habe mir im Internet eine cURL-Anweisung nach C# übersetzen lassen. 
https://curl.olsh.me/

curl -H "Authorization: Bearer API_KEY" -H "Content-Type: application/json" -X  POST -i https://api.1fichier.com/v1/file/ls.cgi -d  '{"folder_id":0,"pretty":1}'

Der angezeigte Quellcode ist:

using (var httpClient = new HttpClient())
{
    using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://api.1fichier.com/v1/file/ls.cgi"))
    {
        request.Headers.TryAddWithoutValidation("Authorization", "Bearer" & "API_KEY"); 
        request.Content = new StringContent("{\"folder_id\":0,\"pretty\":1}");
        request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); 
        var response = await httpClient.SendAsync(request);
    }
}

Ich möchte so lange warten bis ich den gesamten Quelltext habe. 
Meine Anwendung soll ein Konsolenprogramm werden.
Deshalb bsteht aus meiner Sicht nicht die Notwendigkeit, die ganze Sache asychron zu programmieren.
Wie kann ich den C#-Quellcode so umändern bzw. neu erstellen, dass dieser ohne await funktioniert?

06.04.2023 - 17:42 Uhr

Das war vermutlich doch nur eingebildet.

Vermutlich habe ich doch nur das Lesezeichen verschoben und die Internetseite doch nicht aufgerufen.

06.04.2023 - 10:59 Uhr

Wurde hier heute/gestern am Forums-Design geändert oder wurde meine angezeigte Seite immer vom Browser-Cache auf alt gemacht ?

21.03.2023 - 09:50 Uhr

Nach welchem Buch/Tutorial hast du denn gelernt?

Überhaupt keines.

Und bei den Datentypen-Schlüsselwörtern erzeugt der Compiler dann entsprechend Code, welcher dann die zugehörigen .NET-Datentypen benutzt (es gibt [fast] keinen Grund diese direkt zu benutzen - außer evtl. für Codegeneratoren o.ä.).

Das habe ich oben versucht zu erklären. Ich will überhaupt nicht erst überlegen müssen, ob ich jetzt gerade in VB.NET oder C# programmiere.
Typen wie System.Int32 funktionieren immer, sowohl in C#, wie auch in VB.NET.

21.03.2023 - 08:02 Uhr

Das Problem Int32 ist, dass dies eine "echte" Klasse ist und kein Schlüsselwort. Daher kann man diese Klassen auch einfach überschreiben, was leider einige Projekte tun.
Wie genau meinst Du das? Int32 ist ein struct, das nicht überschrieben werden kann O.o
Oder meinst Du Structs/Klassen mit dem gleichen Namen, oder einen using Alias?

Ich meine damit z.B.


//ganz normaler Int32-Typ
internal System.Int32 intIrgendwas = 0;

//selber zusammengebastelter struct
internal MEINE_EIGENE_STRUCT   mes = default(MEINE_EIGENE_STRUCT);

public struct MEINE_EIGENE_STRUCT
{
  public System.Int32 intMeinWert1;
  public System.Byte  bMeinWert2;
  public System.Double  dblMeinWert3;
}

21.03.2023 - 07:54 Uhr

Wenn es ein Fehler ist, dann lass die Exception fliegen und logge sie an geeigneter Stelle samt StackTrace.

Wenn ich die Exception nicht einbaue, dann wird diese beim Absturz dem Benutzer angezeigt,
was nicht passieren soll, weil der Benutzer dann glaubt, dass das Programm nicht funktioniert.
Dass der Benutzer etwas falsch gemacht hat, auf diesen Gedanken kommt er überhaupt nicht.

20.03.2023 - 15:29 Uhr

das wäre aber expliziter. Ansonsten solltest du zumindestens einen Kommentar dazu schreiben, da sonst nicht ersichtlich ist, warum es da überhaupt zu einer Exception kommt (denn die Standardeinstellung ist ja unchecked).

Außerdem sind Exceptions zur Logikbehandlung auch ein Anti-Pattern (und langsamer als z.B. Abfragen) sowie die Verwendung von goto ebenfalls.

PS: Warum schreibst du System.Int32 anstatt einfach nur int?
Und bei den Variablennamen (wie z.B. intValue1) solltest du nicht auch noch den Typ mit angeben (Stichwort: Ungarische Notation)!

Ich habe in Visual Studio 2005 angefangen und bin es von daher so gewohnt, dass immer eine Exception kommt.
Dass keine Exception kommt und stattdessen ein falsches Ergebnis ausgegeben wird, hat mich sehr verwundert.
Desweiterer hat es mich gewundert, dass ich dies erst jetzt mitbekomme.
Ich verwende die Exceptions, damit ich den ganzen StackTrace usw. gleich so wie er ist in meine Fehlerliste eintragen kann.
Die vollqualifizerten Namen wie System.Int32 verwende ich, damit ich zwischen VB.NET und C# umschalten kann, ohne mir Gedanken zu machen.
Variablen ohne int usw. am Anfang, sind irgendwelche zusammengebastelte struct.

20.03.2023 - 14:06 Uhr

Oder Du setzt einfach das "checked" um die Berechnung, dafür ist es da.
Ich würde sowas nicht global einstellen.

Die Subtrahieren-Funktion war nur die, bei welcher ich den Fehler zufällig mitbekommen habe.
In Wirklichkeit sind da noch mehr Funktionen: Addieren, Multiplizieren, Dividieren usw.
Diese möchte ich nicht alle von Hand umarbeiten müssen.

20.03.2023 - 13:39 Uhr


>

Danke.
Ich habe jetzt bei den erweiterten Build-Einstellungen den Wert "Auf arithmetischen Über-/unterlauf überprüfen" aktiviert.
Danach wird die Exception wieder ausgelöst.
checkforoverflowunderflow

20.03.2023 - 12:47 Uhr

Beim folgendenden Code sollte eigentlich eine Exception ausgelöst werden,
allerdings bekomme ich einen übergelaufenen Wert zurück ( 2147483593 ).
Wie sorge ich dafür, dass die Function Subtraction_Int32 eine Exception auslöst (wie geplant) ?


//Hauptfunktion
internal bool Test3()
{ 
            System.Int32        intValue1                    = default(System.Int32);
            System.Int32        intValue2                    = default(System.Int32);
            System.Int32        intValue3                    = default(System.Int32);


            intValue1           = System.Int32.MinValue;
            intValue2           = 055;
            intValue3           = default(System.Int32);

            if (this.Subtraction_Int32(intValue1, intValue2, out intValue3) == false)
            {
                goto ErrorExit;
                    //--->>
                    //--->>
            }

            return true;

        ErrorExit:
            return false;
}

public bool Subtraction_Int32(System.Int32 intValue1_IN, System.Int32 intValue2_IN, out System.Int32 intValue_OUT)
{

        

            intValue_OUT = default(System.Int32);


            try
            {
                intValue_OUT = intValue1_IN - intValue2_IN;
            }
            catch (System.Exception ex)
            {
                goto ErrorExit;
                    //--->>
                    //--->>
            }

            return true;

        ErrorExit:
            return false;
}