Code: Selecteer alles
private void button2_Click(object sender, EventArgs e)
{
listBox2.Items.Clear();
OpenFileDialog ColorLoad = new OpenFileDialog();
if (ColorLoad.ShowDialog() == DialogResult.OK)
{
int counter = 0;
foreach (string line in System.IO.File.ReadLines(ColorLoad.FileName))
{
listBox2.Items.Add(line.Substring(line.IndexOf('=') + 1));
counter++;
}
listBox2.Items.RemoveAt(0);
SyntaxUpdate();
}
}
even een "avondje" code zitten kloppen, vanmorgen rustig aan gedaan, vanmiddag even een voor mij momenteel flink eind te voet. even therapeutisch naar de Supermarkt..sigaartje gerookt in het zonnetje, Training en Kwalificatie van de F1 gekeken, en pas na het eten echt aan de CodeKlop gegaan..
Maar.. bovenstaande trekt wel mijn INI bestandje in een Listbox, en da's handig.. want ik kan meteen de "headers" eraf knippen.. want die heb ik toch niet nodig, dus maar meteen verwijderen als ik 't hele spul binnentrek..
Is het trouwens mogelijk (en liefst niet te moeilijk om de Properties van een Object te Enumereren?.. dan kan ik gewoon met een For/next loopje..
Code: Selecteer alles
for i= 0 to listBox2.items.count
txtColor = listBox2.Items[i].ToString();
Palet1.property(i)= txtColor;
de boel volstorten.. Nu heb ik ze er allemaal nog afzonderlijk in staan..'t werkt wel.. daar ligt het niet aan, maar als het makkelijker kan, en op een manier die ik begrijp (zie voorgaande post, Edsger Dijkstra, over the Humble Programmer)..
Waarom ik Telkens Citaten van Edsger Dijkstra aanhaal?.. Simpel... ik heb een grote bewondering voor de man, de feitelijke uitvinder van het gestructureerd programmeren, k heb toen ik mijn eerste Computertje had (Commodore C=16), toen ook een Artikel gelezen in het blad KIJK, waar ik (toen nog wel) gretig in las..
Daarin Stelde Dijkstra: Beschouw een Programma als een Wiskundige Stelling, en bewijs em!
Vandaar dat ik ook de macro's in EdingCNC als Software beschouw, en de Code dienovereenkomstig opstel, En nu komt daar dus ook het nodige C# werk bij kijken..en ik vind het alleen maar leuker en leuker worden... zeker nu ik al dan niet met hulp van hier, meer en meer opsteek van C#..
Als ik nu kijk naar wat ik inmiddels voor elkaar heb, en wat er verder nog mogelijk is... Ik heb een Editor die:
- Bestanden automagisch opslaat
- Syntaxmarkering heeft, met diverse kleuren
- Automatisch laden van het laatst bewerkte programma
- Dialogen van EdingCNC gebruiken om te programmeren
- Middels het zelf schrijven van Macro's de funtionaliteit uitbreiden
- Eenvoudige Syntaxis van de code
Wat er verder nog bij komt?.. Nou... vandaag dus even zitten stoeien met het opslaan van de waarden van/voor Properties in een Ini bestandje, en het weer terug lezen.. zodat ik de kleuren voor van alles weer terug heb.
Dus.. dat moet in Versie 0.02.2, daarna ga ik wel even loeren of ik een beetje makkelijke Syntaxis kan verzinnen om dialogen aan te maken in E++, zodat je daarmee ofwel in E++ een Kopie kan aanmaken van een Dialoog die je ook al in EdingCNC gebruikt, maar dan mogelijk met extra functionaliteit, zoals een Custom opmerking toevoegen aan je Cyclus.. zodat je kan zien waar ie voor bedoeld is... zelfs als je de Code inklapt..
Want dan voeg ik die Tekst gewoon toe achter de opmerking ;Cycle Operation (Omschrijving).
Zolang je de Dialogen dezelfde naam geeft.. *kun je ook opgeven in de "Setup" kun je ook dezelfde afbeeldingen gebruiken als die voor EdingCNC, met dit verschil, dat je gewoon met een Dialoogje naar de juiste map kan bladeren..
Die Setup pagina, die moet ik dus ook nog maken.. Misschien doe ik dat wel net zoals in EdingCNC, met een Tabblad.. Immers.. een Tabblad kan zonder Muis benaderd worden.. Ik moet alleen zorgen dat mijn TabVolgorde goed staat..
Daar kan ik dan alle zaken kwijt.. zoals de "werkdirectory", de Tool.Ini van de machine waarvoor je programmeert, de kleuren, en meer van dat fraais..
C# Programmeren is een Avontuur, en ik ben me er volop van bewust dat ik nog maar aan het begin sta, maar vergeleken met VB.Net Ben ik al veel verder.. en dat terwijl ik ooit in een weekendje een speciale GUI voor EdingCNC schreef voor het aansturen van een Coordinaten pons machine.
Wie weet maak ik ooit nog de overstap naar C++, zodat ik rechtstreeks kan "koppelen" met EdingCNC, ik heb in het verleden al zoiets gedaan met de VB.Net API.... waarmee al hele gave dingen mogelijk waren...
ik ga er nog maar even een nachtje over slapen..