Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

dotNETZone.gr Weblogs

  • SQL Server 2005 και CLR, μέρος #1: Managed User-Defined Functions

    Ο SQL Server 2005 έχει πολλά νέα χαρακτηριστικά. Πολλά από αυτά είναι εμφανή, πολλά άλλα είναι κάτω από το καπό. Μερικά από αυτά είναι τόσο σημαντικά, που ακόμη δεν έχουμε συλλάβει τις αλλαγές που σηματοδοτούν στον τρόπο που γράφουμε εφαρμογές σήμερα. Ένα τέτοιο χαρακτηριστικό είναι η δυνατότητα να γράφουμε κώδικα σε οποιαδήποτε γλώσσα προγραμματισμού δουλεύει στο .NET CLR, εκεί που μέχρι σήμερα δεσμευόμασταν με την T-SQL. Κατά την ταπεινή μου γνώμη μου είναι το σημαντικότερο χαρακτηριστικό του SQL Server 2005. Το θέμα έχει πολύ background και πολλά θεωρητικά για να συζητήσουμε, ωστόσο θα ξεκινήσουμε με ένα απλό παράδειγμα και πάνω σε αυτό μπορούμε να επεκταθούμε. Θα φτιάξουμε ένα UDF χρησιμοποιώντας VB.NET. Μπορούμε να ξεκινήσουμε το Visual Studio 2005 και με New Project, επιλέγουμε τη γλώσσα προτίμησης και στην ομάδα Database, επιλέγουμε SQL Server Project. Δίνουμε το κατάλληλο όνομα στο project και κατόπιν εμφανίζεται ένα παράθυρο με το οποίο επιλέγουμε ένα Database Reference (αν δεν έχουμε κανένα, τότε εμφανίζεται...
    04-12-2005, 23:44 από το μέλος KelMan στο Manos Kelaiditis' Weblog
    Δημοσίευση στην κατηγορία:
  • Try…Catch

    Επιτέλους! Το error handling πάντα ήταν ένα από τα αδύνατα σημεία της T-SQL. Πλέον στη νέα έκδοση του SQL Server υποστηρίζεται η δομή Try…Catch! Ας δούμε ένα παράδειγμα: SET tempdb GO CREATE TABLE DemoTable (ColumnA int PRIMARY KEY , ColumnB int ) CREATE TABLE LogTable (ColumnA int , ColumnB int , error int , date datetime default GETDATE ()) GO CREATE PROCEDURE DoSomething @a int , @b int AS SET XACT_ABORT ON BEGIN TRY BEGIN TRAN INSERT INTO DemoTable VALUES (@a, @b) COMMIT TRAN END TRY BEGIN CATCH DECLARE @err int SET @err = @@error ROLLBACK TRAN INSERT INTO LogTable VALUES (@a, @b, @err, default ) END CATCH GO EXEC DoSomething 1,1 EXEC DoSomething 2,2 EXEC DoSomething 3,3 EXEC DoSomething 1,1 SELECT * FROM LogTable Μέσα στην procedure, θα παρατηρήσετε ότι η δομή Try…Catch σπάει δε δύο τμήματα. Το πρώτο είναι το BEGIN TRY…END TRY block και το δεύτερο είναι το BEGIN CATCH…END CATCH block. Εντούτοις, αυτά τα δύο αποτελούν μία οντότητα και δεν μπορούν να διαχωριστούν (πχ το πρώτο να είναι σε μια stored procedure...
    03-12-2005, 11:11 από το μέλος KelMan στο Manos Kelaiditis' Weblog
    Δημοσίευση στην κατηγορία:
  • INTERLUDE: Η Τρια Κιλά Κώδικα ΑΕ στο Microsoft Launch Event!

    Το συγκεκριμένο γράφτηκε με αφορμή το Visual Studio 2005 / Sql Server 2005 / Biztalk 2006 Launch Event που έγινε στο Γαλάτσι στις 6/12/2005. Αν το διαβάζετε τώρα, χάσατε! ΤΙ ΚΑΝΑΤΕ ΤΟΣΟ ΚΑΙΡΟ; Τελος παντων, ακόμα και να μην ήρθατε (κριμα, θα γνωρίζατε και το...Ζαχαρία), διαβάστε το. Περιλαμβάνει βιαιες σκηνές εναντιον Project Managers, οπότε δεν συστήνεται για ηλικίες κάτω των 18....
    Δημοσίευση στην κατηγορία:
  • Ranking Functions

    Πολλές φορές έχουμε να αντιμετωπίσουμε requests του τύπου «θέλω όλες τις σημερινές παραγγελίες ταξινομημένες κατά ώρα αλλά με μία πρώτη στήλη extra που να έχει αύξοντα αρίθμηση». Εφόσον εκείνη την ώρα δεν χτυπήσει ο κεραυνός του Codd τον βάρβαρο που τόλμησε να ξεστομίσει τέτοιο πράγμα, εμείς θα πρέπει να το ικανοποιήσουμε. Για να πούμε την αλήθεια, η πρακτική αξία της δυνατότητας να μπορεί να παράγει κανείς row numbers είναι μεγάλη. Φανταστείτε για παράδειγμα πόσο πιο απλός θα ήταν ο κώδικας για την υλοποίηση paging tables σε web-pages αν είχαμε αυτή τη δυνατότητα. Μέχρι σήμερα, για να φτιάξουμε κάτι τέτοιο, θα έπρεπε να καταφύγουμε σε διάφορες τεχνικές. Κάποιος θα μπορούσε να σκαρώσει γρήγορα-γρήγορα ένα query του τύπου: SELECT ( SELECT COUNT (*) FROM Orders AS O2 WHERE O2.orderid <= O1.orderid) AS rownum, orderid, orderdate FROM Orders AS O1 ORDER BY orderid το οποίο είναι τρομερά inefficient καθώς για κάθε εγγραφή, κάνει ένα ξεχωριστό query προκειμένου να βρει τον αριθμό της (περισσότερα τέτοια εδώ ). Άλλοι,...
    29-11-2005, 19:49 από το μέλος KelMan στο Manos Kelaiditis' Weblog
    Δημοσίευση στην κατηγορία:
  • Νέες δυνατότητες των DataSets στο Visual Studio 2005

    Από το άρθρο του Jackie Goldstein στο MSDN, New DataSet Features in Visual Studio 2005 , συνοψίζω αυτά που θεωρώ σημαντικότερα: Πηγές δεδομένων (Data sources) Από αντικείμενο: Οποιοδήποτε αντικείμενο με public properties μπορεί να αποτελεί πηγή δεδομένων για ένα dataset χωρίς να χρειάζεται να υλοποιήσουμε κάποιο ειδικό interface. Από web service: Μπορούμε να δημιουργήσουμε και να δέσουμε ένα dataset από τα δεδομένα που έρχονται από ένα web service Και στις δύο αυτές περιπτώσεις, όπως και στις παλιότερες κλασσικές, το dataset που δημιουργείται είναι το ίδιο και το χειριζόμαστε με τον ίδιο τρόπο. Typed datasets και TableAdapter Ο Table adapter είναι στην ουσία ένας Typed DataAdapter με την ίδια αντιστοιχία DataSet και TypedDataSet. Επιπλέον, ο TableAdapter μπορεί να φορτωθεί με πολλές διαφορετικές μεθόδους για το γέμισμα του πίνακα στον οποίον αντιστοιχεί. Έτσι μπορεί να έχει πάνω του methods όπως FillByCountryAndCity και FillByID ταυτόχρονα (χωρίς να χρειάζεται να δημιουργούμε ξεχωριστούς dataAdapters όπως παλιά)...
    19-11-2005, 12:38 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία:
  • APPLY relational operator

    Ένας από τους κυριότερους λόγους που πολλοί developers καταφεύγουν στους cursors όταν γράφουν T-SQL κώδικα είναι η αδυναμία να σκεφτούν τη λύση του προβλήματος με set-oriented τρόπο. Μια κλασική περίπτωση που συμβαίνει αυτό είναι το «θέλω για κάθε εγγραφή από τον πίνακα Χ να συμβαίνει κάτι στο πίνακα Υ». Ο APPLY operator είναι ένας νέος relational operator που έρχεται να βοηθήσει όταν αντιμετωπίζουμε τέτοια προβλήματα, ώστε να μην χρειαστεί να καταφύγουμε σε cursors. Χρησιμοποιείται στο FROM clause και μας επιτρέπει να εφαρμόσουμε ένα table expression για κάθε εγγραφή του εξωτερικού πίνακα, όπου table expression μπορεί να είναι ένα view, ένας πίνακας ή ένα table function. Ας δούμε ένα παράδειγμα: Θέλουμε ένα report όπου για κάθε κατηγορία προϊόντων θα εμφανίζονται τα 3 πιο ακριβά προϊόντα. Αρχικά, ορίζουμε το table function το οποίο έχει ως παράμετρο το CategoryID και βάσει αυτού φέρνει με TOP(3) τα τρία ακριβότερα προϊόντα. CREATE FUNCTION MostExpensiveProducts(@CatID int ) RETURNS TABLE AS RETURN SELECT TOP...
    19-11-2005, 00:42 από το μέλος KelMan στο Manos Kelaiditis' Weblog
    Δημοσίευση στην κατηγορία:
  • My Funny Surprises With .NET 2.0

    As I was developing applications for .Net Framework 1.0 and 1.1, I was building a couple of code libraries with features I found smart and useful for my apps. Being an active member of dotNetZone.gr, (a Greek .net developer community often nicknamed DNZ), I recently decided to share some of that code with others in DNZ. The idea was to do that while porting the code to .Net Framework 2.0 through Visual Studio 2005. Now, what’s so funny about that? First thing I wanted to share was my Wizard classes. I implemented them in the context of a web project and used to find them brilliant. Using SourceSafe Ι started today pinning and branching code to a new VS 2005 solution that would contain the part of my libraries related to Wizards. “Come on! Where is the funny part?” you would still ask! Well I compiled it and got the following compile time errors: Error1: 'Wizard' is an ambiguous reference between 'System.Web.UI.WebControls.Wizard' and 'Softbone.Shared.Wizards.Wizard' Error 2: 'WizardStep' is an ambiguous reference...
    18-11-2005, 11:10 από το μέλος rousso στο rousso's .net blog
    Δημοσίευση στην κατηγορία: ,
  • Common Table Expressions

    Common Table Expressions Τα Common Table Expressions (CTEs) είναι ένα νέο χαρακτηριστικό της T-SQL το οποίο καθορίζεται στο SQL-99 πρότυπο. Τι είναι αυτά; Είναι ο τρόπος με τον οποίο καθορίζουμε προσωρινά result sets μέσα σε ένα statement. Φέρτε στο μυαλό σας τα derived και temporary tables… Ε, κάτι παρόμοιο αλλά όχι ακριβώς το ίδιο όπως θα δούμε παρακάτω. Συνήθως χρησιμοποιούνται για δύο λόγους. Προκειμένου να απλουστεύσουμε τη δομή περίπλοκων queries (εντάξει, αυτό δεν μας ενδιαφέρει γιατί δεν έχουμε πρόβλημα με τα περίπλοκα queries) αλλά και προκειμένου να μπορούμε να υλοποιήσουμε εύκολα αναδρομικά (recursive) queries! Η σύνταξη ενός CTE έχει ως εξής: [ WITH <common_table_expression> [,...n] ] <common_table_expression>::= expression_name [(column_name [,...n])] AS (<CTE_query_definition>) Βέβαια, είναι κομματάκι δύσκολο να αντιληφθεί κανείς αμέσως περί τίνος πρόκειται, γι αυτό ας δούμε ένα παράδειγμα: WITH TopOrders (ProductID, TotQty) AS ( SELECT ProductID, Sum (Quantity) FROM [ Order Details]...
    18-11-2005, 01:04 από το μέλος KelMan στο Manos Kelaiditis' Weblog
    Δημοσίευση στην κατηγορία:
  • OUTPUT keyword

    Αν έχετε γράψει κώδικα για triggers θα ξέρετε τους ψευδοπίνακες Inserted και Deleted μέσω των οποίων μπορεί κανείς να αποκτήσει πρόσβαση στις τιμές των rows που γίνονται INSERT, UPDATE ή DELETE, ακριβώς πριν να ολοκληρωθεί η διαδικασία. Για παράδειγμα, ένα τυπικό πρόβλημα που θα έπρεπε να χρησιμοποιήσουμε triggers, είναι όταν αλλάζουμε την τιμή όλων των προϊόντων που ανήκουν σε μια κατηγορία και το ζητούμενο είναι να καταγράφουμε σε έναν πίνακα την προηγούμενη τιμή, τη νέα τιμή, την ημέρα και ώρα της αλλαγής και τον χρήστη που κάνει την αλλαγή. Εναλλακτικά, αν δεν θέλουμε να χρησιμοποιήσουμε triggers, θα πρέπει να γράψουμε μια μακροσκελή stored procedure η οποία θα κάνει ένα iteration σε όλες τις εγγραφές, θα κάνει ένα-ένα τα UPDATE που θα ακολουθούνται από ένα INSERT στο logging πίνακα (Χωρίς cursors ε! Με τον άλλον τρόπο, τον καλό, με while loop). Στον SQL Server 2005 μπορούμε να χρησιμοποιήσουμε το keyword OUTPUT το οποίο μπαίνει στα INSERT, UPDATE και DELETE statements και μας δίνει πρόσβαση στους πίνακες...
    17-11-2005, 00:34 από το μέλος KelMan στο Manos Kelaiditis' Weblog
    Δημοσίευση στην κατηγορία:
  • Visual Studio 2003 to VS 2005 solution conversion

    As from 7th of November I'm trying to covert and test my existing VS 2003 solutions into VS 2005. I've made some test conversions while on beta phase but I hadn't tried it on really big, real word solutions. Here are some of the problems I've encountered: Datasets with unknown data type declarations for table fields: VS 2003 allowed that. I've seen a table field with the data type "bit", entered by mistake. VS 2003 didn’t show up a single warning, and the build didn’t have a problem also. While converting the project though, VS 2005 refuses to convert this dataset. Large scale mess-up with assemblies references of crystal reports: While converting a solution with a large number of crystal reports, the references went crazy. Removing and re-importing the dll references didn’t help at all. Extensive mess-up with project references in web projects: The web projects are quite different in the new VS. If your web project contains a large number of project and external dll references, before converting your web projects...
    16-11-2005, 16:23 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία: , ,
  • Google base - On line free database

    On-line βάση δεδομένων για όλο τον κόσμο; Συγκλονιστικά πράγματα συμβαίνουν σ' αυτόν το κόσμο... Το google πάντως είναι μπροστά... Υποθέτω θα έρθει και ένα API μετά; Πω πω, καλπάζουσα φαντασία... http://www.google.com/base Help the word find your content Google Base is a place where you can add all types of information that we'll host and make searchable online. You can describe any item you post with attributes, which will help people find it when they search Google Base. In fact, based on the relevance of your items, they may also be included in the main Google search index and other Google products like Froogle and Google Local . Quick Facts about Google Base Cost: Free Item types accepted: All types of online and offline information and images Languages: You can submit your information in many languages; the Google Base interface, however, including the Help Content, is currently available only in English, English UK and German. Reach: Items you submit to Google Base can be found on Google Base and, depending...
    16-11-2005, 12:22 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία:
  • Windows Live Mail beta

    2 Gb από τη Microsft? Το Google τελικά έχει θέσει νέα standards... Θα γίνει μεγάλος πόλεμος... Sleek and simple, with added security - Sign up What it is Fast and simple e-mail that makes it easy to read, send and organize your messages. The “beta” part means it’s a work in progress, so we need your input to make sure it’s built right. What it gives you • Previews of your messages you can read without leaving your inbox • Drag-and-drop organization • One-click control over junk and scam e-mails • Right-click power—reply, delete, and forward • 2 GB of storage (2 GB = 2,000,000,000 bytes) Frequently Asked Questions How do I provide feedback? Please go to this site to report bugs and provide our team with feedback on features you love, hate, want, and need. Is there a list of known issues with Mail Beta? Yes. Please go to our feedback page to see what other customers are saying. Will I see all my e-mails, contacts, and other info from my current account within Mail Beta? Yes. See all questions...
    16-11-2005, 09:51 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία:
  • Αλλαγές στη διαχείριση των indexes

    Άλλη μια αλλαγή στο νέο SQL Server είναι ο τρόπος με τον οποίο μπορούμε να διαχειριστούμε τα indexes. Πλέον έχει προστεθεί functionality στην εντολή ALTER INDEX και δεν είναι υποχρεωτικό να χρησιμοποιούμε τα DBCC statements. Έτσι, μπορούμε να κάνουμε τα παρακάτω: Disable ένα index ALTER INDEX <index_name> ΟΝ <table_name> DISABLE Rebuild ένα index ALTER INDEX <index_name> ΟΝ <table_name> REBUILD Αυτό αντιστοιχεί με το DBCC DBREINDEX και πέραν του προφανή λόγου που χρησιμοποιείται κάνει επίσης enable ένα index που έχουμε κάνει disable με το προηγούμενο statement (Λογικό αυτό γιατί το disabled index έχει «μείνει» στα παλιά data). Reorganize index ALTER INDEX <index_name> ΟΝ <table_name> REORGANIZE Αυτό αντιστοιχεί με το DBCC INDEXDEFRAG δηλαδή είναι on-line operation (όπερ σημαίνει ότι δεν γίνονται locks που να επηρεάζουν την ομαλή λειτουργία του πίνακα) όμως παίζει μόνο στο leaf-level του index. Επίσης, κατά το ALTER INDEX και CREATE INDEX υπάρχουν και κάποια index options όπως...
    15-11-2005, 17:00 από το μέλος KelMan στο Manos Kelaiditis' Weblog
    Δημοσίευση στην κατηγορία:
  • Web Banking (2)

    Στη συνέχεια των αναζητήσεών μου για web banking , χτες πήγα μια βόλτα από την Πειραιώς. Πραγματικά πολύ χαζή τράπεζα, λες και δεν θέλανε να με ξαναδούνε. Έκανα την αίτηση και επι τόπου μου δώσανε userid, password, phone banking, ένα πολύ όμορφο κίτρινο κουτάκι με αναλυτικότατες οδηγίες, screen shots, φυλλαδιάκια κλπ. 20 λεπτά μόνο. Τους λέω "μπορείτε να μου συνδέσετε τις πιστωτικές μου και τα δάνειά μου να τα βλέπω όλα από εκεί μέσα;" και μου λένε "έχουν συνδεθεί αυτόματα". Χάλια κατάσταση.... με τέτοιο service δεν πρόκειται να ξαναπατήσω στο μαγαζί, θα τα κάνω όλα online από το σπίτι. Ααααχχχ, που να βρουν μαρκετινίστικο μυαλό οι καημένοι. Πρέπει να δουν πως δουλεύει η Εθνική που ξέρει πως να σε κρατάει σε τακτική επαφή... Η κοπελίτσα που με εξυπηρέτησε φαινόταν πολύ άνετη και πλήρως ενημερωμένη, χωρίς κόμπλεξ περί internet... Δεν ήξερε δηλαδή πως να δείξει πόσο σημαντικό και μεγάλο είναι το internet.... Χάλια, χάλια, μην πάτε..., πηγαίντε στην Εθνική, θα βοηθήσει και την φυσική σας κατάσταση με τα πέρα δώθε.....
    11-11-2005, 15:16 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία:
  • Partitioned Tables

    Technorati Tags: Partitioned Tables Στην προηγούμενη έκδοση του SQL Server είχαμε τα partitioned views μέσω των οποίων μπορούσαμε να δούμε πολλαπλούς πίνακες, ενδεχομένως σε διαφορετικούς servers, ως ένα ενιαίο σύνολο. Σε αυτήν την έκδοση μπορούμε να έχουμε σε partionions τον ίδιο τον πίνακα. Το partitioning γίνεται οριζόντια δηλαδή ένα διαφορετικό set από εγγραφές υπάρχει σε κάθε partition και κάθε ένα από αυτούς κατοικοεδρεύει σε διαφορετικό filegroup. To πλεονέκτημα είναι ότι είναι ευκολότερη η διαχείριση πινάκων μεγάλου όγκου δεδομένων αφού οι ενέργειες που κάνουμε περιορίζονται μόνο στους πίνακες που αφορούν. Επίσης, ο query optimizer όταν τρέχει σε συστήματα με 8 επεξεργαστές και άνω, μπορεί να προσαρμόζει το execution plan ώστε να εκτελούνται παράλληλα queries στα partitions. Πως γίνεται η δουλειά Αρχικά χρειαζόμαστε ένα PARTITION FUNCTION. Αυτό καθορίζει ποια data πάνε σε ποιό partition. [code language="T-SQL"] CREATE PARTITION FUNCTION OrderDatePF (datetime) AS RANGE LEFT FOR VALUES ('1/1/1997',...
    10-11-2005, 10:19 από το μέλος KelMan στο Manos Kelaiditis' Weblog
    Δημοσίευση στην κατηγορία:
  • ΕΠΕΙΣΟΔΙΟ 19: Οταν ο μεσήλιξ εκπαιδευόμενος γνώρισε τη login screen...

    Αν πρόκειται να διδάξετε κάτι σε χρήστες προχωρημένης ηλικίας και ιδιαίτερα όταν αυτοί αποτελούν υπαλλήλους μεγάλων και αργοκίνητων οργανισμών, αλλάξτε επάγγελμα πριν να είναι πολύ αργά. Αλλιώς, ένα PhD ψυχολογίας με προϋπηρεσία 5 ετων σε κατάλληλα ιδρύματα μπορούν να σας βοηθήσουν να τη βγάλετε καθαρή......
    Δημοσίευση στην κατηγορία:
  • Άντε και καλή αρχή μου εύχομαι... :)

    Πόσο καιρό λέω τώρα να αρχίσω να γράφω στο blog μου, μία το ένα, μία το άλλο, τελικά τώρα ξεκινάω. Μιας και έχω αρχίσει να παίζω με τον SQL Server 2005, λέω να παρουσιάζω διάφορα ενδιαφέροντα πραγματάκια που ανακαλύπτω στην πορεία......
    01-11-2005, 09:18 από το μέλος KelMan στο Manos Kelaiditis' Weblog
  • Web banking

    Μπήκα πριν λίγο στο Online της Εθνικής τράπεζας... Αιώνες πίσω... Με ποιά κριτήρια άραγε μια τράπεζα επιλέγει τους developers που θα της φτιάξουν το online; Άσε το διαδικαστικό κομμάτι.... Άντε στην τράπεζα, κάνε μια αίτηση, πήγαινε σπίτι σου, περίμενε να σου έρθει το userid και το password, πήγαινε στο ταχυδρομείο να πάρεις το συστημένο, ξαναπήγαινε στην τράπεζα να σου δώσουν αριθμούς TAN !!!!!. Αυτοί οι αριθμοί TAN, μεγάλη εφεύρεση. Όπου πας πρέπει να έχεις μαζί σου μια λίστα με αριθμούς για να βάζεις έναν σε κάθε σου κίνηση μέσα στο on-line. Πως δεν ζητάνε κωδικό με ελάχιστο αριθμό ψηφίων 2048, πάλι καλά... Επίτηδες το κάνουν για να μην χάνουν την επαφή με τον πελάτη... Σου λέει, δεν μπορεί, με τέτοιο σύστημα ταλαιπωρίας θα τον βλέπουμε τον πελάτη μια φορά το μήνα, έτσι βρε παιδί μου, για το καλημέρα... Θα θέσω νέους όρους στους εργοδότες μου: "από σήμερα δεχόμαι πληρωμές μόνο μέσω paypal"......
    28-10-2005, 14:28 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία:
  • Localization and realtime language change in Macromedia Flash 8

    Strings panel is the resources management tool of flash. You can create resource XML files with it, just like resx files of .net framework. Very useful function that was missing from flash. The change of the stage language at runtime with a simple way (e.g. change all strings to another language by clicking a button) is something barely documented. Because I spent many ours searching for solutions, here are the findings that helped me: You can find here an example of .Fla file to download: PhilFlash (it's in French but you can easily find your way). Attention: In strings panel's settings you must set "automatically at run-time". With the option "via ActionScript at run time" it does not work, although is seems the right choice. You can of course force the change of the language at the very first frame. In my case, the movie is stopped while the user can change the language and the changed strings does not show up until the movie continues to play. Watch out......
    28-10-2005, 11:54 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία: ,
  • ΕΠΕΙΣΟΔΙΟ 18: Μην υποτιμάτε την αλληλεπιδραστική διαδραστική ικανότητα των ενδοπροσωπείων.

    Ο Ζαχαρίας βρισκεται αντιμέτωπος με ένα κατακλυσμό αδόκιμης ορολογίας και πρέπει να εμποδίσει την ασθένεια αυτή να μεταδοθεί και στην υπόλοιπη εταιρία......
    Δημοσίευση στην κατηγορία:
  • Data Access Layer

    Part I of a data access layer....
    21-10-2005, 12:26 από το μέλος zeon στο Zeon's Blog
  • Angelos Petropoulos' WebLog

    Το βρήκα προχτές, έχει πολύ ενδιαφέροντα posts. Highlights: Annotating typed datasets Περιγράφει πως μπορείς να αλλάξεις τα default ονόματα που δίνει ο code generator στα typed datasets Do not waste two days damning everything around you like I did ... Δίνει μια άγνωστη (σ' εμένα τουλάχιστον) παράμετρο του web.config η οποία καθορίζει πόσα παράλληλα connections επιτρέπονται στον web server, πολύ χρήσιμο για περιπτώσεις με web services. Το κεντρικό url είναι: http://blogs.wdevs.com/angelos/...
    10-10-2005, 13:54 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία:
  • ΕΠΕΙΣΟΔΙΟ 17: Φοβού τους τεχνικούς...

    Τι να πει κανείς σε ένα τεχνικό που θεωρεί οτι ο Device Manager είναι υπαρκτό πρόσωπο; Δείτε πώς ο Ζαχαρίας έρχεται αντιμέτωπος με τον υπερφίαλο νέο τεχνικό της εταιρίας του που μισεί τα Windows και αρέσκεται στο Raid 105......
    Δημοσίευση στην κατηγορία:
  • Creating a simple, reusable Windows Service (template code)

    Με αφορμή την ερώτηση ενός συναδέλφου παλαιότερα, έφτιαξα ένα μικρό αρθράκι σε δύο μέρη το οποίο αφορά τη δημιουργία ενός απλού Windows Service το οποίο μπορει να χρησιμοποιηθεί για να κάνετε hook στα methods οποιουδήποτε δικού σας assembly μέσω ενός thread που επαναλαμβάνει τη λειτουργία του ανά τακτικά διαστήματα και είναι άμεσα ελέγξιμο από το Service μέσω των μεθόδων χειρισμού του ίδιου του Service. Ελπίζω να το βρείτε χρήσιμο! Διαβάστε στα άρθρα το Μερος 1 και το Μερος 2...
    03-10-2005, 12:57 από το μέλος cap στο Sotiris Filippidis' Weblog
    Δημοσίευση στην κατηγορία:
  • Η γρήγορη καφέ αλεπού

    Λόγω ατυχών συγκυριών, αναγκάστηκα να εγκαταστήσω ελληνικά windows στο primary μηχάνημά μου. Απαίσια εμπειρία κυρίως λόγω συνήθειας, αλλά και προβλημάτων. Anyway, άνοιξα πριν λίγο μια γραμματοσειρά και είδα το default string που έχει για το preview. Εκεί που τα αγγλικά windows έχουν το γνωστό " The quick brown fox jumps over the lazy dog ", τα ελληνικά έχουν το " Θέλει αρετή και τόλμη η ελευθερία (Ανδρέας Κάλβος) ". Το θέμα είναι το αγγλικό string είναι φτιαγμένο με το σκεπτικό να χρησιμοποιεί όλους τους λατινικούς χαρακτήρες, ώστε να μπορείς να δεις πως απεικονίζεται ο καθένας μέσα στο κείμενο. Στο ελληνικό όμως, λείπουν τα γράμματα γ, ζ, ξ, π, σ, φ, χ, ψ, ω, η μισή αλφάβητος δηλαδή.... Και αναρωτιόμουν... τόσο δύσκολο είναι να βγεί ένα σωστό ελληνικό αντίστοιχο; Προσπάθησα λίγο και έβγαλα το εξής: " θα φάω το χρυσόψαρο της γυάλας αν πριν το βράδυ δεν ρίξω μια καλή ζαριά ". Έχει όλα τα γράμματα και χάνει λίγο στο νόημα, αλλά όχι ότι η αλεπού έχει περισσότερο... Εσύ μπορείς να βρεις κάτι καλύτερο; Κερδίζει όποιος...
    25-09-2005, 20:27 από το μέλος Χρήστος Γεωργακόπουλος στο Εquilibrium
    Δημοσίευση στην κατηγορία:
Περισσότερες Δημοσιεύσεις « Προηγούμενη - Επόμενη »
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems