abonnement Unibet Coolblue Bitvavo
  zondag 22 juni 2008 @ 11:58:11 #201
19840 Libris
Live from Singapore
pi_59599791
quote:
Op zondag 22 juni 2008 11:16 schreef JortK het volgende:
Libris is Python makkelijk te leren?
Ja, er zijn veel libraries die je kan gebruiken plus veel voorbeelden. Het is even wennen aan de manier van code schrijven. Er worden geen {} en puntcomma's gebruikt

Voorbeeld in php
1
2
3
4
<?php
for ($i = 0; $i < 10; $++) {
print $i."<br>";
?>


en dan in Python
1
2
for i in range (0,10):
      print i


Vooral de libraries maken het leuk om even iets snel in elkaar te draaien. Probeer het uit. Zelf gebruik ik Eclipse als IDE, en dat werkt lekker.
  zondag 22 juni 2008 @ 12:07:30 #202
19840 Libris
Live from Singapore
pi_59600000
Nog een klein voorbeeldje

1
2
3
4
5
6
7
for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print n, 'equals', x, '*', n/x
            break
        else:
            print n, 'is a prime number'


Prime numbers vinden
pi_59600296
quote:
Op zondag 22 juni 2008 12:07 schreef Libris het volgende:
Nog een klein voorbeeldje
[ code verwijderd ]

Prime numbers vinden
Ik zou dat stukje code nog eens goed controleren.
pi_59600367
Python lijkt me inderdaad ook een erg leuke taal om te leren. Jammer genoeg te weinig tijd voor op dit moment . Waar ik wel graag mee bezig wil is Android. Aangezien ik bezig ben met Java te leren is dat een mooi meepakkertje .
  zondag 22 juni 2008 @ 12:42:18 #205
19840 Libris
Live from Singapore
pi_59600908
quote:
Op zondag 22 juni 2008 12:18 schreef Farenji het volgende:

[..]

Ik zou dat stukje code nog eens goed controleren.
Hier is een werkende

1
2
3
4
5
6
7
8
for n in range(2, 10):
    prime = True
    for x in range(2, n):
        if n % x == 0:
            prime = False
            break
    if prime:
        print n, 'is a prime number'


Het was gewoon een voorbeeldje voor de syntax, had even niet naar de werking gekeken.
  zondag 22 juni 2008 @ 12:43:35 #206
19840 Libris
Live from Singapore
pi_59600953
quote:
Op zondag 22 juni 2008 12:21 schreef Mordreth het volgende:
Python lijkt me inderdaad ook een erg leuke taal om te leren. Jammer genoeg te weinig tijd voor op dit moment . Waar ik wel graag mee bezig wil is Android. Aangezien ik bezig ben met Java te leren is dat een mooi meepakkertje .
Android, zie sig... Het ligt alleen even stil
pi_59603230
Momenteel gebruik ik Turbo Delphi Explorer voor het maken van programmatjes, deze versie is gratis, en de apps mogen ook via internet verspreidt worden.

Zijn er meer stand-aloneapplicatie builders in omloop die gratis zijn & waarmee je applicaties mag verspreiden?

thx,
Webby
to say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, or of what is not that it is not, is true
pi_59607769
quote:
Op donderdag 12 juni 2008 23:36 schreef Serphiot het volgende:
Op sommige sites worden wel eens programmeer wedstrijden gehouden, ik vroeg me af hoeveel devvers hier zitten en of onder de devvers mensen zijn die het leuk vinden om een contest te houden?

Nog geen idee hoe het in het vat te gieten, dacht eerst maar eens te peilen of er animo is.
Programmeer wedstrijden zijn leuk! Alleen vind ik de langere wedstrijden teveel tijd vreten, dus aan een fok-contest zal ik niet mee doen. Google houdt binnenkort ook weer een wedstrijd. De hoofdprijs bestaat onder andere uit 10 keer een gratis lunch bij een Google kantoor . Een andere site waar vaak wat georganiseerd wordt is TopCoder. Zijn hebben een competitie waarin je wekelijks gedurende 75 minuten drie algorithmische problemen mag proberen op te lossen. Verder hebben ze ook nog wat langer durende wedstrijden waar je 1 a 2 weken de tijd voor krijgt.
pi_59650520
Aan het kloten met subversion enz .

Mensen die hier werken met Trac en subversion? Ik vraag me af hoe de connectie in elkaar zit. Hoe weet trac welke bestanden zijn gewijzigd voor welke ticket.
pi_59652098
Uitbreiden van RSS Reader voor klant. (classic) ASP

Alle RSS Urls die moeten worden gechecked worden uit een MSSQL DB tabel gehaald.

Daarna wordt er per RSS Item bekeken of bepaalde keywoorden erin voorkomen

Zo ja, artikel toevoegen in DB

en loop

en loop

en loop
  dinsdag 24 juni 2008 @ 14:46:12 #211
217449 dgbw
DE GROTE BOZE WOLF
pi_59652221
Vergeet dan vooral niet een goede error handler te schrijven voor al dat geloop
  zondag 29 juni 2008 @ 10:12:22 #212
107951 JortK
Immer kwaliteitsposts
pi_59767987
Gisteravond ben ik begonnen met de XML import functionaliteit voor mijn dataminingtool.

Ik heb nu het gedeelte af waarmee ik de XML file kan genereren, vandaag en morgen staan op het programma om de importmodule zelf te schrijven, inclusief de nodige intelligentie.

Dit alles met PHP en natuurlijk SimpleXML
pi_59768098
Bezig met een Collada editor op XML niveau voor m'n eigen projectjes.
pi_59768786
Vandaag en de rest van de week dev ik heel weinig en laat mijn GFXSTAT zichzelf bugtesten
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_59782480
quote:
Op zondag 22 juni 2008 14:21 schreef webbyplus het volgende:
Momenteel gebruik ik Turbo Delphi Explorer voor het maken van programmatjes, deze versie is gratis, en de apps mogen ook via internet verspreidt worden.

Zijn er meer stand-aloneapplicatie builders in omloop die gratis zijn & waarmee je applicaties mag verspreiden?

thx,
Webby
Microsoft Visual Studio Express mag het ook mee
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
  donderdag 3 juli 2008 @ 18:37:05 #216
39210 StonedKinG
Discofrisco
pi_59871630
Misschien dat hier iemand het weet : Ben op zoek naar een lijst van landen of land codes met bijbehorende formaten van dingen als telefoonnummer, postcode, etc.

Dus zoiets :
1
2
3
4
5
6
7
8
9
10
<country code="NL-nl">
  <zip>
    <format value="0000AA"/>
    <format value="0000 AA"/>
    <format value="NL-0000AA"/>
    <format value="NL-0000-AA"/>
  </zip>
<phone>
etc...
etc..


En dan in een handzaam formaat, zoals XML, of regex codes of des noods CSV....

Iemand ooit zoiets tegen gekomen ?
pi_60038879
quote:
Op zondag 29 juni 2008 23:03 schreef existenz het volgende:

[..]

Microsoft Visual Studio Express mag het ook mee
MVSE werkt goed idd , voor de java devvers: Jcreator, eclipse , netbeans
  vrijdag 11 juli 2008 @ 16:41:22 #218
84926 WyriHaximus
Release the hounds smithers!
pi_60044473
quote:
Op dinsdag 24 juni 2008 13:41 schreef Mordreth het volgende:
Aan het kloten met subversion enz .

Mensen die hier werken met Trac en subversion? Ik vraag me af hoe de connectie in elkaar zit. Hoe weet trac welke bestanden zijn gewijzigd voor welke ticket.
hier ook, heb SVN werkend nu (al loop ik nog tegen het probleem aan dat me tortoisesvn vast loopt als ik 90.000 bestanden probeer te committen ), ga een aantal projecten vrij beschikbaar maken moet alleen nog ff uitvogelen hoe ik de combi met trac werkend krijg .
phluphy for president!
  zaterdag 12 juli 2008 @ 17:53:38 #219
84926 WyriHaximus
Release the hounds smithers!
pi_60061812
quote:
Op dinsdag 24 juni 2008 13:41 schreef Mordreth het volgende:
Mensen die hier werken met Trac en subversion? Ik vraag me af hoe de connectie in elkaar zit. Hoe weet trac welke bestanden zijn gewijzigd voor welke ticket.
Heb het werkend, (de eigen deamon van trac dan de link met apache gaat nog niet goed) maar je geeft de directory van je svn repo op op de server en dan leest trac het van daar uit hoe het zit.
phluphy for president!
pi_60233908
Ik ben mijn Last.fm PHP API aan het updaten omdat ze met de nieuwe layout ook de hele webservices hebben om gegooid.
pi_60235989
quote:
Op zondag 20 juli 2008 22:21 schreef super-muffin het volgende:
Ik ben mijn Last.fm PHP API aan het updaten omdat ze met de nieuwe layout ook de hele webservices hebben om gegooid.
Die snappen het idee van webservices dus niet helemaal...
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_60236031
quote:
Op maandag 21 juli 2008 00:05 schreef existenz het volgende:

[..]

Die snappen het idee van webservices dus niet helemaal...
Nou ja, het idee is niet per definitie dat je API tot het einde der tijden backwards compatible hoeft te zijn natuurlijk. Alhoewel de oude webservices online houden nou ook weer niet zoveel moeite zou moeten kosten, zeker in een overgangsfase.
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_60244237
Die oude webservices zijn nog wel actief, maar ze verzoeken je wel om de nieuwe API te gebruiken. En ik vind het wel weer leuk, even wat code verbouwen.
pi_60245498
quote:
Op maandag 21 juli 2008 00:08 schreef Litpho het volgende:

[..]

Nou ja, het idee is niet per definitie dat je API tot het einde der tijden backwards compatible hoeft te zijn natuurlijk. Alhoewel de oude webservices online houden nou ook weer niet zoveel moeite zou moeten kosten, zeker in een overgangsfase.
Nee, dat de webservice bruikbaar blijft voor de consumers ongeacht veranderingen aan de backend van de webservice.... En blijkbaar hebben ze dat hier dus netjes gedaan door de oude webservices te deprecaten en mensen op te roepen om de nieuwe webservices te gebruiken. Dat is een hele nette oplossing.
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_60652131
Even een drukkertje geven .
Werk: Wat kleine puntjes aan het fixen. O.a. meerdere telefoonnummers kunnen aanmaken voor studenten etc.

Thuis: niks, nada, noppes . Iemand nog ergens hulp mee nodig?
  vrijdag 8 augustus 2008 @ 17:14:43 #226
84926 WyriHaximus
Release the hounds smithers!
pi_60661271
Ook maar ff een updateje dan.

Werk: Zo goed als afgerond de klus waar ik op zat, nog wat puntjes op de I maar heb nu vakantie ^^.

Thuis: Druk bezig met http://fok.wyrihaximus.net/ De Topic Tracker compleet herschreven, en de Wow character lijst is nu voor 70% klaar. (Alleen nog ff een update scriptje bouwen voor hier thuis die alles up to date houd.) Verder zit ik nog wat te knoeien met me screenshots verwerk scrippie om verdwaalde screenies te zoeken .
phluphy for president!
pi_60680600
Ik ben momenteel bezig met een ASP/NET / C# Generator, die op basis van een tabel in een DBMS een C# class genereert, en bijbhorende usercontrols. Volgende methoden worden gegenereerd :

public static Blaat load(keys)
public static Blaat save(keys)
public static Blaat[] loadall(keys)
public static Blaat[] lfind(string searchString, string Column)
public Control[] getControlFor(string column);

Op deze manier kun je heel makkelijk (zeker als je geen LINQ oid kunt/wilt gebruiken) een tabel converteren naar een pagina om dit object te maken. Een Bit worden 2 radio buttons, een blob wordt een upload veld, als een kolom verplicht is komt er automatisch een RequiredFieldValidator op, etc....
pi_60680684
ik ga weer verder met het devven op een aangepaste debian kernell om een hsdpa modem samen met een usb receiver aan de praat te krijgen.. gedoe
All you know about me is what I've sold you, dumb fuck
pi_60681062
quote:
Op zaterdag 9 augustus 2008 12:17 schreef StonedKinG het volgende:
Ik ben momenteel bezig met een ASP/NET / C# Generator, die op basis van een tabel in een DBMS een C# class genereert, en bijbhorende usercontrols. Volgende methoden worden gegenereerd :

public static Blaat load(keys)
public static Blaat save(keys)
public static Blaat[] loadall(keys)
public static Blaat[] lfind(string searchString, string Column)
public Control[] getControlFor(string column);

Op deze manier kun je heel makkelijk (zeker als je geen LINQ oid kunt/wilt gebruiken) een tabel converteren naar een pagina om dit object te maken. Een Bit worden 2 radio buttons, een blob wordt een upload veld, als een kolom verplicht is komt er automatisch een RequiredFieldValidator op, etc....
Kan je niet veel beter die methodes in een abstracte class zetten en daarvan laten inheriten?
pi_60682448
Dat zou kunnen, allen per tabel verschilt alles wel zo veel dat het weinig zin heeft dan zou ik meer op een interface terecht komen. Daarbij verschilt de signature nogal eens van zo''n methode, de load heeft namelijk bij een enkele sleutel slechts 1 parameter, bij meerdere natuurlijk meer

Hier een voorbeeltje van zo'n gegenereerde class, kan nog wat foutjes bevatten maar schiet al lekker op

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
using MaralTools.db;
using System;

namespace maral.db.obj
{
    /////////////////////////////////////////////////
    // Class generated by Maral DbClassCreator V2.0//
    // Created for: ASP.NET 2.0 /////////////////////
    /////////////////////////////////////////////////
    public class News
    {
        public string content { get; set; }
        public DateTime date { get; set; }
        public string author { get; set; }
        public int id { get; set; }

        /// <summary>
        /// Constructs a new News object. Nullable fields are <code>null</code>, 
other are getting a default value suchs as -1L for <code>long</code>s.
        /// </summary>
        public News()
        {
            id = -1;
        }

        public static News load(int key_id)
        {
            var result = new News();
            var reader = DbTools.getOleDataReader("SELECT * FROM News WHERE id = " + key_id);
            while (reader.Read())
            {
                result.content = DbTools.getString(reader["content"]);
                result.date = DbTools.getDate(reader["date"]);
                result.author = DbTools.getString(reader["author"]);
                result.id = DbTools.getInt(reader["id"]);
            }
            reader.Close();
            return result;
        }
        public void save()
        {
            var newRecord = id > 0;
            var query = newRecord ? "INSERT INTO News VALUES(@content, @date, @author);"
            : "UPDATE News SET content = @content, date = @date, author = @author WHERE id = @id;";
            var command = DbTools.getOleCommand(query);
            try
            {
                if (!newRecord)
                    command.Parameters.AddWithValue("@id", id);
                command.Parameters.AddWithValue("@content", content);
                command.Parameters.AddWithValue("@date", date);
                command.Parameters.AddWithValue("@author", author);
                if (newRecord)
                    id = int.Parse(command.ExecuteScalar().ToString());
                else
                    command.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                //TODO: Log error!
            }
            finally
            {
                command.Connection.Close();
            }
        }

        public static News[] loadAll()
        {
            var reader = DbTools.getOleDataReader("SELECT * FROM News;");
            var amount = 0;
            while (reader.Read())
            {
                amount++;
            }
            reader.Close();
            reader = DbTools.getOleDataReader("SELECT * FROM News;");
            var result = new News[amount];
            var i = 0;
            while (reader.Read())
            {
                result[i] = new News();
                result[i].content = DbTools.getString(reader["content"]);
                result[i].date = DbTools.getDate(reader["date"]);
                result[i].author = DbTools.getString(reader["author"]);
                result[i].id = DbTools.getInt(reader["id"]);
                i++;
            }
            reader.Close();
            return result;
        }
        public static News[] find(string searchString, string columnName)
        {
            var reader = DbTools.getOleDataReader("SELECT * FROM News WHERE " + columnName + " LIKE '%" + searchString + "%';");
            var amount = 0;
            while (reader.Read())
            {
                amount++;
            }
            reader.Close();
            reader = DbTools.getOleDataReader("SELECT * FROM News WHERE " + columnName + " LIKE '%" + searchString + "%';");
            var result = new News[amount];
            var i = 0;
            while (reader.Read())
            {
                result[i] = new News();
                result[i].content = DbTools.getString(reader["content"]);
                result[i].date = DbTools.getDate(reader["date"]);
                result[i].author = DbTools.getString(reader["author"]);
                result[i].id = DbTools.getInt(reader["id"]);
                i++;
            }
            reader.Close();
            return result;
        }
        public static void delete(int key_id)
        {
            var command = DbTools.getOleCommand("DELETE FROM News WHERE id = " + key_id);
            command.ExecuteNonQuery();
        }
    }
}


Alles is dus gegenereerd, dus ook het commentaar

[ Bericht 30% gewijzigd door StonedKinG op 09-08-2008 13:41:22 (Layout verneukerij opgelost :)) ]
pi_60683893
quote:
Op zaterdag 9 augustus 2008 12:17 schreef StonedKinG het volgende:
Ik ben momenteel bezig met een ASP/NET / C# Generator, die op basis van een tabel in een DBMS een C# class genereert, en bijbhorende usercontrols. Volgende methoden worden gegenereerd :

public static Blaat load(keys)
public static Blaat save(keys)
public static Blaat[] loadall(keys)
public static Blaat[] lfind(string searchString, string Column)
public Control[] getControlFor(string column);

Op deze manier kun je heel makkelijk (zeker als je geen LINQ oid kunt/wilt gebruiken) een tabel converteren naar een pagina om dit object te maken. Een Bit worden 2 radio buttons, een blob wordt een upload veld, als een kolom verplicht is komt er automatisch een RequiredFieldValidator op, etc....
Houd je wel aan de coding conventies . Is zeker bij generators belangrijk om te doen. En let ff op null value afhandeling en ik zie dat je geen meer lagen model gebruikt. Is dat expres (Kan natuurlijk prima als je daarvoor kiest)?
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_60685598
quote:
Op zaterdag 9 augustus 2008 13:39 schreef StonedKinG het volgende:
Dat zou kunnen, allen per tabel verschilt alles wel zo veel dat het weinig zin heeft dan zou ik meer op een interface terecht komen. Daarbij verschilt de signature nogal eens van zo''n methode, de load heeft namelijk bij een enkele sleutel slechts 1 parameter, bij meerdere natuurlijk meer

Hier een voorbeeltje van zo'n gegenereerde class, kan nog wat foutjes bevatten maar schiet al lekker op
[ code verwijderd ]

Alles is dus gegenereerd, dus ook het commentaar
Ik heb een tijd geleden zoiets gemaakt maar dan in perl: DataRow. Dat is een generieke abstracte class die een row uit een willekeurige databasetabel representeert, met load, save, delete, copy etc methods, generieke voorzieningen voor 1-to-many, 1-to-1 en many-to-many relaties. Die class is relatief groot, maar in subclasses inherit je dan daarvan, en daarin geef je alleen aan wat de databasetabel is, welke velden die tabel heeft, je definieert de identificerende key(s) en je definieert de relaties die het object met andere subclasses heeft. Hierdoor blijven de subclasses heel klein, in principe hoef je dan niet meer dan de constructor te overriden. Dat scheelt heel veel herhaling van grotendeels identieke code; en dat is belangrijk, als je dan iets wil wijzigen hoeft dat maar in 1 bestand, al je subclasses nemen dat vanzelf over, en hoef je ook geen generator aan te passen. Ik geloof sowieso niet in code die code genereert eigenlijk, vragen om problemen is dat.

Deze DataRow class gebruik ik tegenwoordig in bijna al mijn perl projecten. Scheelt echt veel tijd, development is nog nooit zo snel gegaan, je hebt vrijwel geen inline SQL meer nodig en je code wordt er ongelooflijk compact en overzichtelijk van.

In perl zijn er veel van dit soort classes, zoals DBIx::Class waar nog veel meer mee kan. Veel frameworks in andere talen zoals phpCake of Ruby on Rails hebben een vergelijkbare class, hoogstwaarschijnlijk is er voor .NET ook wel zoiets te vinden.
pi_60689091
quote:
Op zaterdag 9 augustus 2008 14:51 schreef existenz het volgende:

[..]

Houd je wel aan de coding conventies . Is zeker bij generators belangrijk om te doen. En let ff op null value afhandeling en ik zie dat je geen meer lagen model gebruikt. Is dat expres (Kan natuurlijk prima als je daarvoor kiest)?
Wat bedoel je met een meer lagen model? Het gebruik van interfaces/abstrace klassen etc? De null value afhandeling doe ik door velden die verplicht zijn in de DB een standaard waarde te geven als -1, of een nieuwe instantie van bv DateTime en niet verplichte velden gaan straks weer de db in als een Db.NullValue indien ze hun standaardwaarde hebben of een null zijn.

Wat bedoel je met coding conventies? Zie ik iets over het hoofd? Ik laat elke klasse sowieso checken door Resharper 4, en zorg dat ik niet eens warnings genereer
pi_60689232
quote:
Op zaterdag 9 augustus 2008 16:42 schreef Farenji het volgende:

[..]

Ik heb een tijd geleden zoiets gemaakt maar dan in perl: DataRow. Dat is een generieke abstracte class die een row uit een willekeurige databasetabel representeert, met load, save, delete, copy etc methods, generieke voorzieningen voor 1-to-many, 1-to-1 en many-to-many relaties. Die class is relatief groot, maar in subclasses inherit je dan daarvan, en daarin geef je alleen aan wat de databasetabel is, welke velden die tabel heeft, je definieert de identificerende key(s) en je definieert de relaties die het object met andere subclasses heeft. Hierdoor blijven de subclasses heel klein, in principe hoef je dan niet meer dan de constructor te overriden. Dat scheelt heel veel herhaling van grotendeels identieke code; en dat is belangrijk, als je dan iets wil wijzigen hoeft dat maar in 1 bestand, al je subclasses nemen dat vanzelf over, en hoef je ook geen generator aan te passen. Ik geloof sowieso niet in code die code genereert eigenlijk, vragen om problemen is dat.

Deze DataRow class gebruik ik tegenwoordig in bijna al mijn perl projecten. Scheelt echt veel tijd, development is nog nooit zo snel gegaan, je hebt vrijwel geen inline SQL meer nodig en je code wordt er ongelooflijk compact en overzichtelijk van.

In perl zijn er veel van dit soort classes, zoals DBIx::Class waar nog veel meer mee kan. Veel frameworks in andere talen zoals phpCake of Ruby on Rails hebben een vergelijkbare class, hoogstwaarschijnlijk is er voor .NET ook wel zoiets te vinden.
Dat was ook mijn doel, het af zijn van innerline SQL, die eeuwige readers, vergeten connecties te sluiten, etc. Of je gelooft in code generatie hangt puur af hoe intelligent je je generator maakt. Tot nu toe ben ik geen serieuze problemen tegen gekomen.

- Ik genereer mijn usings netjes, mochten ze dubbel voorkomen dan maakt ie ze slechts 1 keer aan.
- Alle bekende datatypen vang ik af met de corresponderende C# klassen incl get en set
- Default constructor maak ik op basis van PK + verplichte velden
- Nette naamgeving van ID´s: txtBlaat voor tekst velden etc, per woord een hoofdletter is helaas erg moeilijk...
- Blokhaken in SQL om problemen met reserver words te voorkomen
- Te verwachten array grootte hoeveelheden eerst ophalen, is een risico, I know, maar had ff geen zin in List objecten, verander dit denk ik nog.
Netjes genereren van UserControl[] mocht je vanuit code een usercontrol ergens willen inploppen.

Tevens ASPX code voorzien van Req. field validators.

Op de planning staan nog :

- ASPX2.0 / 3.5 verschillen
- DropDownList wanneer er een bepaald check constraint op een veld staat (banaan, appel, peer)
- AJAX generatie (Tabbladen bij meer dan x controls, updatepanels)
- Automatische REGEX validators waar mogelijk
- Generatie van een "creatie pagina" zoals in ASPX voorbeeld uitbreiden met een "weergeef" (dus niet editable) velden, bv als DetailsView,
- Gridview, i.c.m de loadall en de find functie
- Repeater op dezelfde fiets
- Auto generatie van buttons, Reset, Submit, en meteen functieaanroep naar Object.save o.i.d.

Genoeg te doen nog dus Meer mensen ideeen nog?


Hieronder een screenshotje hoe k het tot nu toe heb :

(Kan wezen dat er soms spaties niet netjes staan of een tab ontbreekt, ben zo druk, nog niet naar gekeken )

Resultaat C# class
Resultaat ASP.NET code (net mee begonnen)

De Testtabel (let op de PK over meerdere kolommen)

De tool:


[ Bericht 9% gewijzigd door StonedKinG op 09-08-2008 20:13:19 ]
pi_60689428
quote:
Op zaterdag 9 augustus 2008 19:48 schreef StonedKinG het volgende:

[..]

Wat bedoel je met een meer lagen model? Het gebruik van interfaces/abstrace klassen etc? De null value afhandeling doe ik door velden die verplicht zijn in de DB een standaard waarde te geven als -1, of een nieuwe instantie van bv DateTime en niet verplichte velden gaan straks weer de db in als een Db.NullValue indien ze hun standaardwaarde hebben of een null zijn.

Wat bedoel je met coding conventies? Zie ik iets over het hoofd? Ik laat elke klasse sowieso checken door Resharper 4, en zorg dat ik niet eens warnings genereer
Volgens de meeste gebruikte conventie zou je het als volgt doen:
1
2
3
4
5
6
7
8
9
10
private string exampleProperty;
public string ExampleProperty 

get { return exampleProperty; }
set { exampleProperty = value; }
}

public void Save() 
{
}


Methode names dus altijd met uppercase beginnen en public fields private omturnen in properties. Dat viel me eigenlijk vooral op . Dat is ieg de meest gebruikte standaard (Maar absoluut niet de enige).

edit: Ik zie 3.5 gebruikt worden, dan hoeft de private declarie niet, maar ook de properties met hoofdletter beginnen

edit2:
Waarom trouwens zelfs wat schrijven als je NHibernate, ActiveRecord, WIlson, LLBGen, Linq To Sql, Entity Framework etc hebt?
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_60689697
quote:
Op zaterdag 9 augustus 2008 20:04 schreef existenz het volgende:

[..]

Volgens de meeste gebruikte conventie zou je het als volgt doen:
[ code verwijderd ]

Methode names dus altijd met uppercase beginnen en public fields private omturnen in properties. Dat viel me eigenlijk vooral op . Dat is ieg de meest gebruikte standaard (Maar absoluut niet de enige).
edit: Ik zie 3.5 gebruikt worden, dan hoeft de private declarie niet, maar ook de properties met hoofdletter beginnen
Thx voor die uppercase Foutje, bedankt.] En dat zijn trouwens autoproperties, dat maakt Resharper er van. Had eerst een normale property. 3.5 dus, 2.0 mode genereert wel degelijk properties. En in het vervolg dus ook met hoofdletter, thx
quote:
edit2:
Waarom trouwens zelfs wat schrijven als je NHibernate, ActiveRecord, WIlson, LLBGen, Linq To Sql, Entity Framework etc hebt?
Omdat je soms niet van een bepaalde technologie kunt gebruiken door een dwarsliggende webhost, oude meuk, of simpelweg omdat het ff snel genereren van de hele zooi voor een klein projectje gewoon fijn is. Daarbij genereert Linq To SQL en die andere meuk toch geen ASP.NET pagina's? Zeker niet netjes met RequiredFieldValidators enzo toch ?
pi_60689780
Nee, dat klopt (LLBLGen volgens mij wel, maar die kost dan ook $$$). Dit soort properties (waar je geen fields hoeft te declareren) bestaan trouwens pas sinds .NET 3.5
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_60689940
quote:
Op zaterdag 9 augustus 2008 20:21 schreef existenz het volgende:
Nee, dat klopt (LLBLGen volgens mij wel, maar die kost dan ook $$$). Dit soort properties (waar je geen fields hoeft te declareren) bestaan trouwens pas sinds .NET 3.5
Vandaar het keuzeronde

Gelukkig, dan ben ik niet helemaal nutteloos bezig Wist wel van de bestaande technologieen, maar tis ook leuk om zoiets te maken En m'n baas / leadprogrammer was al behoorlijk blij met de C# generator, denk dat ie het ASP gedeelte ook leuk vindt
Verder ben ik nog een manier aan het zoeken om een relatie om te zetten in een logisch control, als je een tabel Klant met veld CompanyID hebt dat ie dan uit Company de bedrijfsnaam ophaalt ofzo, en die in een dropdownlist kiepert. Das natuurlijk helemaal mooi, maar daar komt wat AI bij kijken...
Zit er ook aan te denken om Java generatie er naast te doen aangezien C# == Java, zeker in simple vorm
  zaterdag 9 augustus 2008 @ 22:22:30 #239
84926 WyriHaximus
Release the hounds smithers!
pi_60692549
* WyriHaximus is nu lekker aan het modderen met openid om het in ze single signon systeem te krijgen
phluphy for president!
pi_60704792
quote:
Op zaterdag 9 augustus 2008 13:39 schreef StonedKinG het volgende:
[...]
Waarom heb je er voor gekozen om de methods static te maken?
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_60705046
quote:
Op zondag 10 augustus 2008 14:19 schreef rekenwonder het volgende:

[..]

Waarom heb je er voor gekozen om de methods static te maken?
Was mij inderdaad nog niet opgevallen. Het is inderdaad niet gebruikelijk, maar kan prima. Probleem is alleen dat wanneer je dan specifieke methodes die statefull zijn voor een class krijgt je instance methods en statics gaat mixen.
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
  zondag 10 augustus 2008 @ 14:35:10 #242
136730 PiRANiA
All thinking men are atheists.
pi_60705299
Ik ben nu bezig met een crawler om een lijst domeinnamen te verkrijgen voor een project van me (php cli ftw).
Heb er inmiddels 19k
pi_60718669
quote:
Op zondag 10 augustus 2008 14:27 schreef existenz het volgende:

[..]

Was mij inderdaad nog niet opgevallen. Het is inderdaad niet gebruikelijk, maar kan prima. Probleem is alleen dat wanneer je dan specifieke methodes die statefull zijn voor een class krijgt je instance methods en statics gaat mixen.
Als een methode static kan zijn, waarom zou je het dan niet doen? Persoonlijk vind ik het handiger als ik var blaat = Blaat.load(dinges) kan doen dan dat ik var blaat = new Blaat(); blaat.load(dinges); moet doen. Sowieso was bij de meeste bedrijven en stages waar ik gelopen heb het gebruikelijk om een methode static te maken indien mogelijk... Net zoals private indien niet public nodig, en final (java) of fixed variabeles waar mogelijk.
pi_60718686
quote:
Op zondag 10 augustus 2008 14:35 schreef PiRANiA het volgende:
Ik ben nu bezig met een crawler om een lijst domeinnamen te verkrijgen voor een project van me (php cli ftw).
Heb er inmiddels 19k
Je weet dat k's niets zegt over een goed programma
pi_60719091
quote:
Op zondag 10 augustus 2008 22:47 schreef StonedKinG het volgende:

[..]

Als een methode static kan zijn, waarom zou je het dan niet doen? Persoonlijk vind ik het handiger als ik var blaat = Blaat.load(dinges) kan doen dan dat ik var blaat = new Blaat(); blaat.load(dinges); moet doen. Sowieso was bij de meeste bedrijven en stages waar ik gelopen heb het gebruikelijk om een methode static te maken indien mogelijk... Net zoals private indien niet public nodig, en final (java) of fixed variabeles waar mogelijk.
Vanuit de bedrijven waar ik werk (Ik doe detachering) is static niet echt gebruikelijk om iets static te maken omdat het kan. Het moet echt een reden en voordeel hebben, statics zijn namelijk niet statefull, vele malen minder flexibel etc. Ik heb al te vaak applicaties moeten "destaticen", omdat er aanpassingen gedaan moesten worden of state problemen waren, waar de mensen niet uit kwamen.

Het is niet slecht, maar je moet wel verdomd goed opletten wat je aan het doen bent. Voordat je het weet is je hele applicatie static en dat geeft 100% zeker problemen.
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_60719777
quote:
Op zondag 10 augustus 2008 22:59 schreef existenz het volgende:

[..]

Vanuit de bedrijven waar ik werk (Ik doe detachering) is static niet echt gebruikelijk om iets static te maken omdat het kan. Het moet echt een reden en voordeel hebben, statics zijn namelijk niet statefull, vele malen minder flexibel etc. Ik heb al te vaak applicaties moeten "destaticen", omdat er aanpassingen gedaan moesten worden of state problemen waren, waar de mensen niet uit kwamen.

Het is niet slecht, maar je moet wel verdomd goed opletten wat je aan het doen bent. Voordat je het weet is je hele applicatie static en dat geeft 100% zeker problemen.
Nja ik gebruik static ook eigelijk alleen maar bij van die "tool" methoden, zoals een bepaald algoritme uitvoeren op iets, of zoals nu een simpel objectje laden ofzo. Voordeel van static methoden vind ik vooral dat je ze makkelijk in andere software kunt gebruiken. Gaat dus inderdaad vaak om helper methods.
  zondag 10 augustus 2008 @ 23:54:59 #247
192481 Core2
Happiness is the road
pi_60720822
Static methoden vind ik altijd wel handig bij het aanmaken van een object op basis van een argument. Beetje zoals de *.FromXXXXX methoden die je ook ziet in het framework.
  maandag 11 augustus 2008 @ 08:29:08 #248
107951 JortK
Immer kwaliteitsposts
pi_60724857
Vandaag maar eens een bug oplossen in me data mining tool.

Sinds vannacht werkt die niet meer, dus eens kijken wat daarmee aan de hand is
  maandag 11 augustus 2008 @ 08:38:08 #249
17137 Sander
Nerds do it rarely
pi_60724932
Krijg foutmeldingen bij de Whatpulse topic. Server geeft een 500 error, maar nergens een fout te bekennen . Straks maar eens naar een file gaan loggen.
  maandag 11 augustus 2008 @ 09:44:48 #250
107951 JortK
Immer kwaliteitsposts
pi_60725875
quote:
Op maandag 11 augustus 2008 08:38 schreef Slarioux het volgende:
Krijg foutmeldingen bij de Whatpulse topic. Server geeft een 500 error, maar nergens een fout te bekennen . Straks maar eens naar een file gaan loggen.
Zelfde soort probleem als mij dus
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')