C# Vraagje

Vragen die je boven niet kwijt kunt, kan je hier stellen.

Moderator: Moderators

Plaats reactie
hfjbuis
Donateur
Berichten: 3094
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: C# Vraagje

Bericht door hfjbuis »

Arie Kabaalstra schreef: 18 feb 2022 23:14 Om het zeker te weten, moet ik het op de machine testen.. maar dan moet ik er eerst een versie van bouwen die op XP draait, en 't liefst met alle DOTNET Redistributables erbij.. anders wil het niet werken.. en om die er bij te zoeken.. da's ook een gedoe..
Nee hoor, je kunt een installatie pakket maken waar alles inzit. Als ik het mij goed herinner, doet die alles downloaden.
Voor XP heb je "dotnet-sdk-2.1.818-win-x86" nodig. Die kun je bij MS downloaden als 32bit versie en handmatig installeren, gaat ook. Dat zou ik ook zeker doen, mochten ze ooit besluiten dat ze deze niet meer aanbieden.
Je moet builden voor deze versie (als hoogste). Dat kun je bij de eigenschappen van het programma aanpassen bij "Build" en of de references.
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

'k heb in een grijs verleden eens gebruik gemaakt van een programmaatje genaamd "innosetup".. ik meen me te herinneren dat Bert Eding dat ook gebruikte voor het maken van de installers voor EdingCNC.

Moet ik daarin ook die Redistributables erin stoppen?

niet direct nodig..ik heb nog genoeg werk te verzetten met het maken van de dialogen.. en het verzinnen waar ik dialogen voor ga maken..

't communiceren werkt.. dat is het mooiste, programmanummer wordt er ook automagisch uitgepeuterd als ik een bestand uit de machine download..

Code: Selecteer alles

 String PGMname = textBox1.Text.Substring(0, 5);
            LeftTopStatus.Text = PGMname;
meer dan dat is niet nodig.. pakt gewoon de eerste 5 karakters uit de string.
Voor het Uploaden naar de machine moet ik op elke regel nog 2 spaties toevoegen.. en bij het downloaden moet ik eigenlijk de regelnummers meteen verwijderen..

Code: Selecteer alles

For Each line As String In lines
    ' Protect against strings that do not have a first letter to check
    If line.Length >= 1 Then
        Dim firstLetter As Char
        firstLetter = line.Substring(0, 1)
    End If
Next
Dat moet hier wel mee gaan lukken.. dat wil zeggen.. dit geeft alleen de eerste letter weer..
maar als ik Substring(0,7) gebruik, dan pakt ie de regelnummers (Nxxxx[space][space]

Dat kan gewoon in een Subje, zodra de Receive klaar is, dan trek ik gewoon de regelnummers eruit..
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

Net uitgevlooid.. Toetsaanslagen niet afvangen met een KeyDown, maar met een KeyUp, want als je 't regelnummer weer wilt geven, of de regel waar de Cursor op staat, dan pakt ie de vorige regel als je de muistoetsen gebruikt..

met een KeyUp gaat ie pas kijken waar ie staat als je de knop loslaat..
eens kijken of dat net zo mooi werkt met een Mouseclick.. Ja.. dat doet het..!..

ZO krijgen we meer en meer functionaliteit in het programma..

Nu ik de huidige regel weer kan geven, kan ik ook kijken of er bepaalde G-Codes in voorkomen, zoals G84 die ik veel gebruik (vlak of langsdraaien)
G84 is er in diverse smaken.. als ik eerst Z programmeer en dan X, dan gaat ie vlakdraaien, eerst X en dan Z dan gaat ie langsdraaien.. verder kun je og wat parameters opgeven om schuine kanten te draaien.
het is alleen dat de Software van Emco de veiligheidsafstand niet meeneemt in de berekening van de schuine kanten..eens kijken of we daar iets op kunnen verzinnen..

in wezen is alles mogelijk, als ik er maar genoeg tijd in steek.. eerst de basis maar eens in orde maken.. ik weet immers nog niet eens of 't programma wel met de EMCOtronic TM02 wil praten..
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

Code: Selecteer alles

void ParseLine()
        {
            switch (CurrentLine)
            {
                case var s when CurrentLine.Contains("/"):
                    RightBottomStatus.Text = ("BLOCK SKIP");
                    break;

                case var s when CurrentLine.Contains("G00"):
                    RightBottomStatus.Text = ("RAPID MOVE");
                    break;

                case var s when CurrentLine.Contains("G01"):
                    RightBottomStatus.Text = ("LINEAR MOVE");
                    break;

                case var s when CurrentLine.Contains("G02"):
                    RightBottomStatus.Text = ("CIRCULAR CW MOVE");
                    break;

                case var s when CurrentLine.Contains("G03"):
                    RightBottomStatus.Text = ("CIRCULAR CCW MOVE");
                    break;

                case var s when CurrentLine.Contains("G84"):
                    RightBottomStatus.Text = ("TURNING");
                    break;

                case var s when CurrentLine.Contains("G85"):
                    RightBottomStatus.Text = ("THREADING");
                    break;

                case var s when CurrentLine.Contains("G88"):
                    RightBottomStatus.Text = ("DRILLING");
                    break;
                case var s when CurrentLine.Contains("M30"):
                    RightBottomStatus.Text = ("END OF PROGRAM");
                    break;

                case var s when CurrentLine.Contains("M0"):
                    RightBottomStatus.Text = ("STOP");
                    break;

                default:
                    {
                        RightBottomStatus.Text = "";
                    }
                    break;


            }
Ook leuk.. zo'n Switch Case
Daar ga ik meer mee doen..
Hiermee kan ik kijken welke functie er in een block G-Code wordt gebruikt.. in de toekomst kan ik daarmee een dialoog openen, en de waarden uit de string peuteren om bijvoorbeeld een cyclus aan te passen..
Stel.. je staat op een G84 regel, en je drukt op .. laten we zeggen Ctrl/E, dan peutert ie de waarden uit de string en vult ze in de dialoog in. dan kun je ze wijzigen, en weer terugzetten..

Voor nu is het in elk geval een lollig geheugensteuntje, dat je meteen ziet wat een bepaalde code doet.. ik ga er nog een paar toevoegen..
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

Code: Selecteer alles

	 void F9key()
        {
            OpenFileDialog ldlg = new OpenFileDialog();
            ldlg. Filter = "NC files (*.NC)|*.NC|All files (*.*)|*.*";
            if (ldlg.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = System.IO.File.ReadAllText(ldlg.FileName);

            }
        }
        void F10key()
        {
            SaveFileDialog sdlg = new SaveFileDialog();
            sdlg.Filter = "NC files (*.NC)|*.NC|All files (*.*)|*.*";
            sdlg.RestoreDirectory = true;
            sdlg.DefaultExt = "nc";
            if (sdlg.ShowDialog() == DialogResult.OK)
            {
                System.IO.File.WriteAllText(sdlg.FileName, textBox1.Text);
            }

        }
Hopfalderie.. die zitten er ook in.. Ik kan nu ook files vanaf de harde schijf,of van een USB-Zetpil binnenhalen,en ze daarheen wegschrijven..

Ik moet zeggen... die overstap naar C# had ik eerder moeten maken.. de Code is doorgaans toch "compacter", logischer, beter leesbaar dan in VB.Net
Tot dusver heb ik alles wat ik in VB voor elkaar kreeg hier sneller voor elkaar.. en beter ook..
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

de Volgende uitdaging dient zich nu aan..

Ik wil na het downloaden de regelnummers verwijderen, en de eerste 2 spaties.. die spaties wil ik dan later, voor het uploaden weer toevoegen.

Ik moet daarvoor beginnen op Line 1, want die array is zero-based, en dan tot het eind de eerste 7 karakters ( een "N" 4 getallen en 2 Spaties) weghalen)

Code: Selecteer alles

 void RemoveLineNumbers()
        {
            if (textBox1.Text != "")
            {
                textBox1.Lines = textBox1.Lines.Select(x => x.Length > 0 ? x.Substring(7) : "").ToArray();
                for (int i = 1; i < textBox1.Lines.Length; i++)
                {
                    textBox1.Lines = textBox1.Lines.Skip(7).ToArray();
                    string rl = textBox1.Lines[i];
                    rl = rl.Remove(0, 7);
                    textBox1.Lines = rl.ToArray();
                }
            }

        }
Ik vond dit stukje code, Maar dat doet niet wat het belooft
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

En dus.. ging ik weer zelf aan het puzzelen.. het lijkt er op dat sommige wizz-kids allerlei foefjes uit de kast trekken.. maar of het dan ook werkt?..

Zelf kwam ik tot zover"

Code: Selecteer alles

void RemoveLineNumbers()
        {
            if (textBox1.Text != "")
            {
                for (int i = 1; i < textBox1.Lines.Length; i++)
                {
                    if (textBox1.Lines[i] != "")
                    {
                        rl = textBox1.Lines[i].Substring(7);
                        MessageBox.Show(rl);
                    }
                }
            }
        }
Ik kijk eerst of textBox1 niet leeg is.. zo niet.. dan een For next Loop die begint op index 1 (de tweede regel, want het programma nummer staat wel strak tegen de kantlijn.. da's eigenlijk niet meer dan een FileHeader, die de EMCOtronic TM02 eruit peutert als programmanaam.. in het programma zelf is ie niet zichtbaar:
EditScn.jpg
het programma begint met N0000
Dan kijk ik of een regel niet leeg is.. want de laatste 2 zijn leeg, en daar valt niets weg te halen.. probeer je dat wel.. dan gooit het programma een exception.. en dat willen we niet.. (ja.. je kunt dat met een Try-Catch opvangen.. maar als je zorgt dat er niets op te vangen valt.. dat scheelt weer..
Dan peuter ik met
rl = textBox1.Lines.Substring(7); de eerste 7 karakters eruit.. en die toon ik nu even in een Messagebox.

de volgende uitdaging is om de regels in textBox1 te vervangen voor de string "rl".. dat moet ik nog even uitvogelen
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
hfjbuis
Donateur
Berichten: 3094
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: C# Vraagje

Bericht door hfjbuis »

Arie Kabaalstra schreef: 19 feb 2022 19:30 case var s when CurrentLine.Contains("/"):
Die constructie heb ik nog nooit gezien.
Arie Kabaalstra schreef: 20 feb 2022 00:06 k wil na het downloaden de regelnummers verwijderen, en de eerste 2 spaties.. die spaties wil ik dan later, voor het uploaden weer toevoegen.
Je plaatst nu de ontvangen/gelezen tekst, na splitsen in regels, in een textbox. Als wil gaan filteren, kun je dat het beste doen op de originele tekst die nog in de array zit. Daarna kun je de textbox weer vullen met de "opgekuiste data".

Filteren van tekst doe je (na enige oefening) gemakkelijk met een regex expressie. Daarmee kun je een regel opsplitsen in stukken en de niet benodigde stukken weer verwijderen. Dit is niet iets wat je in 5 minuten leert, zeker niet als het complexe filters worden, maar het loont zich om te leren.

Een voorbeeld om van een IP adres met poort het IP adres en de poort te filteren. Het IP adres kan een IP adres zijn, maar ook een host naam. Om dit in VB of C# code te programmeren, kost veel tijd. Onderstaand voorbeeld zijn 3 regels C# code
Het ipadres kan zijn 192.168.10.1:23 maar ook Draaibank:23
De match geeft het stuk voor de ":" terug als achter ":" een getal van 1..5 cijfers staat
De HostIdentifier bevat het IPadres, the RegExMatchAddress the reg string om te zoeken.
Het resultaat wordt gesplits in Host en Port
Alleen als het IP adres goed is ingevuld, is er een Match.

Code: Selecteer alles

String RegExMatchAddress = @"(?<Host>.+?):(?<Port>\d{1,5})";  
var Result = Regex.Match(HostIdentifier, RegExMatchAddress);
if (Match.Groups["Host"].Success == true) return Match.Groups["Host"].ToString().Trim();
There are only 2 limits, the sky and your imagination
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12054
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: C# Vraagje

Bericht door hugo stoutjesdijk »

Het is me niet helemaal precies duidelijk waarom je een orgineel programma uit een besturing zou willen filteren.
Maar ik zou het direct tijdens het ontvangen van de characters doen (als je tenminste op characters bent overgestapt)
Als het een stream is, kan het ook.

Loopje is als volgt:
Je kijkt alleen naar het 1e character van de stream, daar doe je iets mee, weggooien of naar een andere stream schuiven en vervolgens verwijder je die uit de orginele stream, als de stream leeg is ben je klaar.
character testen op CR en /of LF (geen idee wat je hebt, maar als het CRLF is, 0D0A) een teller op 0 zetten.
Wanneer de teller op 0 staat en het gelezen character is spatie, weggooien
wanneer teller 0 is en character is 'N', volgende 4,5,6 character weggooien.
Dan heb je de regelnummer weg en de daarna komende spatie ook.
Dan verwerkt je de characters naar de stream die alleen heeft wat je hebben wilt (of je textbox), totdat je weer een 0D0A tegenkomt.

En waar hebben we het over, schrijf die data naar een temp bestandje, voer die bewerkingen er uit en stop dat bestandje in die textbox, voordat je 2x met je ogen gekippert hebt is het gebeurt, zo groot zullen die bestandjes niet worden.
Ook nadenken of slimme foefjes omdat je programma dan korter lijkt hebben echt geen nut, het wordt alleen maar onleesbaarder en nog lastiger om later dingen aan te passen of toe te voegen.

Ik heb zo ooit een complete converter gemaakt om van standaard G-code naar beetje vreemde Brother G-code te vertalen, dat was iets meer dan spaties en regelnummers. :mrgreen:
Was ook niet alleen vertalen, maar ook combinaties bij elkaar zoeken tot bewerkings blokken.
En dat heb ik in smallbasic gedaan (helaas omdat het eigenlijk als voorbeeldje was voor iemand waarvan ik hoopte dat die het zelf wel verder kon optimaliseren door het laagdrempelig te houden) Dan zie je trouwens dat al de voorbeelden ook wel erg op .net, .c of c# gaan lijken. Vermoedelijk toch allemaal heel nauw verwant met verschillende jasjes.
Zie dit topic https://cnczone.nl/viewtopic.php?p=73475#p73475
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
rverhag
Berichten: 75
Lid geworden op: 26 jul 2012 14:47
Locatie: Oost Souburg, Zeeland

Re: C# Vraagje

Bericht door rverhag »

hfjbuis schreef: 20 feb 2022 00:53 ...
Filteren van tekst doe je (na enige oefening) gemakkelijk met een regex expressie. Daarmee kun je een regel opsplitsen in stukken en de niet benodigde stukken weer verwijderen. Dit is niet iets wat je in 5 minuten leert, zeker niet als het complexe filters worden, maar het loont zich om te leren.
...
Volkomen mee eens. Dit is een voorbeeld van een Regex om een gcoderegel in 1 keer te parsen naar "Gcode-chuncks".

Code: Selecteer alles

 public static readonly GcodeRegex Rule = new("[abcdfghijklmnpqrstuvwxyz][+-]?[0-9]*\\.?[0-9]*", RegexOptions.IgnoreCase);
Dan m.b.v. bijv. een LINQ select

Code: Selecteer alles

 gcodechunks = GcodeRegex.Rule.Matches(_gcodeline.Raw).Select(x => x.Value).ToList();
en je hebt alle Gcode-delen in een List zitten waarmee je weer hele leuke dingen kan doen.

Bijv: "N01G17G20G90G94G54" wordt een list (array) met daarin {"N01","G17","G20", "G90", "G94", "G54"} waar regelnummer weer heel eenvoudig uit te verwijderen is. Je zit dan ook niet meer vast aan de lengte van regelnummers ("N1", "N01","N001","N0001",etc.)

Voor de volledigheid hierbij de GcodeRegex class

Code: Selecteer alles

public class GcodeRegex : Regex
    {
        private GcodeRegex(string pattern, RegexOptions options) : base(pattern, options) { }

        public static readonly GcodeRegex Rule = new("[abcdfghijklmnpqrstuvwxyz][+-]?[0-9]*\\.?[0-9]*", RegexOptions.IgnoreCase);
    }
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

hfjbuis schreef: 20 feb 2022 00:53 Je plaatst nu de ontvangen/gelezen tekst, na splitsen in regels, in een textbox. Als wil gaan filteren, kun je dat het beste doen op de originele tekst die nog in de array zit. Daarna kun je de textbox weer vullen met de "opgekuiste data".
Tot die conclusie kwam ik gisteren ook al.. maar dat was toen ik de PC uitgezet had, en ik met een biertje en een schaaltje knabbels nog even wat "Domme Tv" zat te kijken.. iets over kwantumfysica ofzo.. niet te moeilijk zo vlak voor het slapen gaan.. :lol:

'k ben helemaal geen IT-er, pretendeer ook in geen geval er een te zijn.. toch.. komen er vaak Quotes van Edsger Wybe Dijkstra bij me op:
“Simplicity is prerequisite for reliability.”
Eens.. waarom moeilijk doen als het makkelijk kan
The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
zolang ik een bepaalde manier van programmeren niet minimaal ten dele snap of kan doorgronden, beschouw ik het als een "Clever trick" en vermijd ik ze in een Applicatie, wat niet wil zeggen dat ik er niet mee ga experimenteren in een "knoeiprojectje"
hfjbuis schreef: 20 feb 2022 00:53 Filteren van tekst doe je (na enige oefening) gemakkelijk met een regex expressie. Daarmee kun je een regel opsplitsen in stukken en de niet benodigde stukken weer verwijderen. Dit is niet iets wat je in 5 minuten leert, zeker niet als het complexe filters worden, maar het loont zich om te leren.
Ik heb zo'n knoeiprojectje waar gebruik gemaakt wordt van Regex bijvoorbeeld.. voor Syntax Markering

Eigenlijk.. zou ik de textBox1 in mijn Applicatie moeten vervangen voor een richTextBox, zodat ik bijvoorbeeld de geselecteerde regel Bold weer kan geven
hugo stoutjesdijk schreef: 20 feb 2022 09:38 Het is me niet helemaal precies duidelijk waarom je een orgineel programma uit een besturing zou willen filteren.
Maar ik zou het direct tijdens het ontvangen van de characters doen (als je tenminste op characters bent overgestapt)
Als het een stream is, kan het ook.
Waarom ik dat wil doen?.. omdat regelnummers niet handig zijn, en 2 spaties voor de tekst ook niet., Dus als ik die eruit peuter, dan kun je gewoon lekker tegen de kantlijn aan programmeren..

Als ik in Notepad++ schrijf, heb ik daar macrootjes voor, nou.. die bouw ik hier dan toch ook gewoon in?..

Verder kwam het volgende in mij op 'k noem het maar "Kabaalstra's Paradigma" : "in een goed programma is het niet alleen wat je doet, maar vooral wanneer je het doet!"
lordprimoz
Berichten: 141
Lid geworden op: 27 jun 2017 13:40
Locatie: Hengelo

Re: C# Vraagje

Bericht door lordprimoz »

Arie Kabaalstra schreef: 18 feb 2022 19:44
Waar ik nog wel hoofdpijn met zijwieltjes van krijg.. waarom is het "textBox", met een kleine letter aan het begin, maar .Text met een hoofdletter, en .ReadOnly.. ook met 2 hoofdletters..
Dit heeft te maken met de coding standaard. Aangemaakte variabelen/objecten zoals de textBox beginnen altijd met de kleine letter. Alle daaropvolgende woorden met een hoofdletter (camelCasing heet dat).

In het geval van .Text en .ReadOnly gaat het om properties, waarbij het dus de standaard is om met een hoofdletter te beginnen(PascalCasing)

https://docs.microsoft.com/en-us/dotnet ... onventions
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

Ok.. daar kan ik me in vinden. maar waarom dan "textBox1" en "richTextBox1" en niet "richtextBox1"?..

Aan de andere kant.. ik kan ze natuurlijk zelf andere namen geven.. en textBox1 gewoon TextBox1 noemen.. :lol:
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: C# Vraagje

Bericht door Arie Kabaalstra »

Overigens.. laat ik niet vergeten mijn hartelijke dank uit te spreken aan diegenen die me met raad, en snippets code terzijde staan.
'k heb er lol in, en eigenlijk moet ik concluderen dat ik in de korte tijd dat ik nu in C# programmeer al veel verder ben gekomen dan in VB.Net.
(nu ik er zo op terugkijk, vraag ik me af hoe ik het vroeger in 'shemelsnaam voor elkaar gekregen heb om mijn eigen programmeer Applicatie voor de Beagle te schrijven, en die GraveerApplicatie die op de toen nog ondersteunde VB.NET API van EdingCNC Draaide, alsmede de Coordinaten snijpers waar ik een complete nieuwe GUI voor bouwde in één weekendje.. in VB.NET (ook weer op de DotNetAPI.DLL van EdingCNC)

Ik heb nu een EdingCNC API die op C# draait.. en ik ben er nu niet meer zo huiverig voor om daar eens lekker in de duiken.. om zodoende een soort van "externe plugin" te maken voor EdingCNC..

Programmeren is leuk.. en.. zoals ik eerder schreef.. 't maakt eigenlijk niet veel uit in welke taal.. want alle basisstatements komen voor in alle talen..

Intussen lekker verder aan het "prutsen" met de Code.. als ik Data binnenhaal over de RS232 poort, trek ik dat in textBox1, (dat is feitelijk ook een string, maar omdat het een GUI onderdeel is , is ie automatisch "public' en kan ik em in de GUI Thread overal benaderen.. vandaaruit haal ik nu meteen de regelnummers weg, bij het laden van een programma van de schijf doe ik het op de zelfde manier.
Eerst had ik er een softkey voor in de GUI, maar die heb ik eruit gehaald... 't is nu zo, dat ik toch alle programma's lokaal opsla zonder regelnummers
Dus als ik knip en plak vanuit andere applicaties.. tja.. dan kan het zijn dat die regels 2 spaties van de kantlijn staan.. maar dat is er ook wel uit te filteren..alleen.. moet ik dan een "onPaste"event af zien te vangen.. voorlopig nog niet belangrijk..

Nieuw Toegevoegd: een Tellertje dat het aantal Bytes weergeeft als het programma binnenkomt vanaf de RS232.. zo zie je dat er wat gebeurt.
Regelnummers worden automatisch verwijderd bij het downloaden of laden van een programma, programma naam komt linksboven in de statusbalk te staan, Linksonder staat de status van de RS232 Poort
Dan staat het regelnummer rechtsboven in de statusbalk, en middenonder wordt getoond wat voor soort regel je op dat moment geselecteerd hebt, Rapid, linear move, Circular move CW of CCW, Nu uit gaan vlooien hoe ik uit die strings de waarden van parameters kan halen, om ze in een DataGridview te mikken..
en dan even uitvogelen welke functies ik verder onder de 8 nog beschikbare Functietoetsen ga mikken.. (ik kan daar met die DataGridview ook weer een menuutje van maken natuurlijk..

Bijvoorbeeld.. G84 is een Draaicyclus.. voor Langsdraaien, of Vlakdraaien.. dat hangt er vanaf of je eerst de X of eerst de Z programmeert.. doe je Z dan is het vlakken, doe je X dan is het langsdraaien...Datagridview met 2 rijen.. Rij1 Turning, rij 2 Facing.. Keydown Event afvangen op geselecteerde rij.. Switch Case Rij1 Turning Case rij 2 Facing.. juiste dialoogje tonen.. invoeren en invoegen..
Plaats reactie