דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
A

avr416

@avr416
אודות
פוסטים
1.0k
נושאים
203
קבוצות
0
עוקבים
2
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • C# תשלום באשראי דרך אתר
    A avr416

    אני לא מבין בWEB..
    אבל לגבי 2 - ClickOne עובד מול פלאקרד וגם אני.. (אני עדיין לא עובד.. אבל את התוכנה שכתבתי מתממשקת מולם..)
    זה גם תלוי מה הצרכים שלך.. כיון שאם אתה צריך לשמור את פרטי האשראי לצורך חיובים עתידיים (כמו תרומה בהו"ק חדשית וכדו') אתה צריך שתהיה להם פונקציה שממירה לטוקן, כי זה לא מאובטח לשמור את המס' אשראי אצלך, וזה דבר שאין לכל החברות..
    3. ראה כאן דוגמא לגבי המתודות של פלאקרד, אתה צריך ליצור איתם קשר כדי שיתנו לך שם משתמש וסיסמא ומס' מסוף כדי שתוכל לבדוק שזה עובד..

    בהצלחה!

    פורסם במקור בפורום CODE613 ב17/09/2015 21:31 (+03:00)


  • WPF: שאלות בנושא עיצוב
    A avr416

    הקישור לא עובד.. הוא כותב שהדף לא נמצא..

    פורסם במקור בפורום CODE613 ב10/09/2015 19:52 (+03:00)


  • בינידנג בקומבו לdictionary
    A avr416

    @דוד ל.ט.

    סליחה, עוד תיקון במקום SelectedItem צריך להיות ItermsSource. ובמקום SelectedValuePath="{Binding MethodPayment}" צריך להיות SelectedValuePath=Key.]

    שכוייח!! סופסוף זה עובד..
    אולי בסוף אני עוד אצליח לעשות זאת לבד.. בלי כל פעם להתבלבל בין כל המאפיינים הללו :roll: :roll:

    פורסם במקור בפורום CODE613 ב09/09/2015 20:09 (+03:00)


  • בעיה בחיפוש כשבחלק מהאובייקטים המאפיין ריק
    A avr416

    אז הנה התשובה:

    donorFiltered.Where(x => (x.Tel ?? "").Contains(telSearch.Text));
    

    פורסם במקור בפורום CODE613 ב07/09/2015 21:44 (+03:00)


  • WPF: כיצד אפשר לשנות את אירוע ה"קליק" של לחצן דרך הקוד?
    A avr416

    טוב, אז אסביר את עצמי יותר טוב 🙂
    במסך החיפוש אפשר לבצע 2 סוגים שונים של חיפושים, אחד חיפוש של אובייקט מסוג תורם על פיכל מיני פרמטרים, והשני של אובייקט מסוג תרומה כנ"ל. כל חיפוש כזה שומר את התוצאות במשתנה של ליסט מהסוג שלו.
    כמו כן, יש למשתמש כפתור של אפשרות לייצא את תוצאות החיפוש לקובץ.
    בהתחלה כתבתי בקוד של הכפתור שאם המשתנה הראשון אינו null שישמור את הליסט הראשון לקובץ ואם השני אינו null שישמור את השני.
    הבעיה היא מה קורה שהוא הריץ את החיפוש הראשון ואחריו את השני או להיפך, ואח"כ החליט שהוא רוצה לשמור את החיפוש השני, במקרה זה שני המשתנים אינם null וא"כ כיצד אדע מה לשמור?
    ההנחה שלי שאת החיפוש שהוא ביצע אחרון הוא רוצה לשמור, כיון שברגע שבמסך מוצגות לו רק התוצאות של החיפוש האחרון..
    לכן חשבתי בהתחלה שכאשר מתבצע חיפוש מסוג מסוים הוא משנה את אירוע הקליק של כפתור השמירה, כך שאם הוא יבחר לשמור את החיפוש אדע איזה סוג של משתנה לשמור. וממילא אם הוא לא ישמור ויבצע חיפוש מהסוג השני - האירוע של הכפתור ישתנה.

    בסוף חשבתי על רעיון פשוט כ"כ :lol: כאשר הוא מבצע חיפוש אני מציב במשתנה השני null וככה מאפס אותו.. ובא לציון גואל!!

    בכל זאת אשמח לדעת את התשובה לשאלה המקורית...
    תודה רבה!

    פורסם במקור בפורום CODE613 ב06/09/2015 07:24 (+03:00)


  • האם יש דרך לקרוא לאובייקט ללא סוג?
    A avr416

    הבעיה הייתה הסדר של האובייקטים בTuple.
    תודה רבה לדוד ל.ט. על ההשקעה בפתרון הבעיה ובכלל בשיפור הקוד של המחלקה.
    אשרינו שזכינו :smile:

    פורסם במקור בפורום CODE613 ב07/09/2015 20:45 (+03:00)


  • WPF: הפניה מהזאמל לליסט סטטי שיצרתי באותה מחלקה
    A avr416

    @דוד ל.ט.

    לא מבין מה ההבדל אם זה במלקה X או נוכחית, בהlist מוכרז כמאפיין, משהו כזה:

    public static ObservableCollection<int>  List { get; set;  }
    

    אז בxaml אתה כותב ככה:

    <ComboBox ItemsSource="{Binding Source={x:Static local:MyWindow.List}}" SelectedItem="{Binding xyz}" />
    

    צודק!! טעות שלי 😢
    שכחתי לכתוב את זה בתור מאפיין source של הבינידנג... וגם להוסיף local.
    כמה זמן ביזבזתי על זה אתמול (ניסיתי הרבה אפשרויות כי לא הבנתי למה הוא לא מכיר את זה..)...

    תודה רבה רבה!!!

    פורסם במקור בפורום CODE613 ב02/09/2015 15:00 (+03:00)


  • ולידציה של אימייל, תעודת זהות וכרטיסי אשראי
    A avr416

    @דוד ל.ט.

    המימוש של C# נמצא פה: http://rosettacode.org/wiki/Luhn_test_of_credit_card_numbers#C.23 בשורה אחת:

    return digits.Select((d, i) => i % 2 == digits.Length % 2 ? ((2 * d) % 10) + d / 5 : d).Sum() % 10;
    

    תודה על המחמאות :lol:
    אשמח אם תוכל לפרט את מהלכו של הקוד שהבאת.. אני מבין שזהו ביטוי למדא אבל אינני מבין כיצד בדיוק הוא מממש את האלגוריתם שלנו..
    אשמח אפי סתם להסבר טכני מהו בדיוק עושה, כי אני לא מצליח להבין...

    תודה רבה!

    ולגבי האפסים - אכן באלגוריתם שכתבתי אתה צודק, כי אני מתחיל מהסוף להתחלה. אולם, יש המממשים את הבדיקה ע"י שהפונקציה בהתחלה מבצעת היפוך למס' הת.ז. או הכרטיס (reverse), ואז יש חשיבות לאפסים, כיון שהבדיקה מתבצעת בצורה כזו שאת הספרה הכי ימנית מכפילים ב1 ואת הבאה אחריה ב2 וחוזר חלילה.. ואם נגיד המשתמש הקליד מס' בן 8 ספרות אז לאחר ההיפוך הוא יכפיל את הספרה הראשונה ב1 במקום ב2 והתוצאה תהיה שגויה.. (אני בניתי את האלגוריתם בסדר יורד וכך אני נותן לו בתחילה את האורך של הסטרינג וכל הזמן זה יורד, וכך בלי להפוך את הספרות הוא מתחיל לי מהספרה הימנית ואז אין את הבעיה הזאת.. אולם, אם מבצעים רוורס ועובדים בסדר עולה אז מאד חשוב לדעת מהי הספרה הראשונה).

    פורסם במקור בפורום CODE613 ב31/08/2015 22:38 (+03:00)


  • ולידציה של מיילים
    A avr416

    @רחמים

    לדעתי הדרך שהבאת בקישור היא הדרך הכי טובה

    bool IsValidEmail(string email)
    {
        try {
            var addr = new System.Net.Mail.MailAddress(email);
            return addr.Address == email;
        }
        catch {
            return false;
        }
    }
    

    וזאת משום שאם תסתכל בקוד מקור של המחלקות MailAddress ו MailAddressParser תראה שהבדיקה של המייל נעשית בצורה מאוד יסודית.

    ממש מוזר :?: :?:
    אני מקליד את כתובת המייל הזאת: "אברהם@אברהם" ומקבל תשובה חיובית..

    פורסם במקור בפורום CODE613 ב30/08/2015 16:27 (+03:00)


  • שליחת בקשה לשרת מקוד C#
    A avr416

    @softs

    לגבי לשלוח ישירות לשרת לא הבנתי את שאלתך, בקשת HTTP מורכבת מ URL, headers, Mehtod, Body, אתה מצפה לקוד יותר קצר או מה?
    ראה מה כתב clickone אם תשתמש ב WS זה יהיה יותר קצר בהרבה, אבל לא לכולם יש WS . . .

    התכוונתי שלא מצאתי מאפיין בשם Body שאני פשוט יכול להזין אליו ישירות סטרינג עם מחרוזת JSON, אלא אני חייב להשתמש בstreamWriter כדי לכתוב את הבקשה. ולא הבנתי מדוע צריך להשתמש דווקא באובייקט הזה לכתיבה וא"א פשוט לשלוח אובייקט של מחרוזת לשרת, והשרת יקבל את המחרוזת שהיא בנויה בצורה של JSON יקרא אותה ויחזיר לי תשובה.
    תודה רבה!

    clickOne אכן כן! ניחשת נכון :lol:
    אבל מעניין שבמקום להפנות אותי לקובץ שהפנית הם שלחו לי PDF שבו מצויינים הפרמטרים שאני צריך לשלוח לכל סוג בקשה, ומה הכתובת..

    פורסם במקור בפורום CODE613 ב23/08/2015 20:49 (+03:00)


  • חריג מסוג InvalidOperationException
    A avr416

    @avr416

    מה שנראה לי עכשיו.. אולי זה בגלל שאני משתמש בlist רגיל ולא בobserlvCollection (או משהו כזה..)??
    כי נראה לי שהבעיה זה בגלל הבינדינג ולא בגלל המתודה שרצה כשאני נכנס לכרטיסיה הנ"ל.. אלא שכיון שהבינדינג כבר נבנה ועכשיו המקור שלו (הליסט) השתנה (נוספה לו שורה) והוא לא התעדכן על כך.. אז הוא קורס..
    יכול להיות? או שזה לא קשור??
    סליחה אם חפרתי יותר מדי... :lol:

    טוב אז אחרי הרבה דם יזע ודמעות 😉 😉
    עליתי על השגיאה - אכן כן, הבעיה היא שהשתמשתי בליסט ולא בObservableCollection

    בניתי תוכנה קטנה רק עם שני כרטיסיות ובדקתי ואכן כשהשתמשתי בליסט זה קרס (אותה שגיאה) וכששיניתי לObservableCollection - הכל עבד חלק!!
    מסקנה: מהיום בWPF רק אבל רק ObservableCollection!!!

    פורסם במקור בפורום CODE613 ב18/08/2015 18:40 (+03:00)


  • הרב דוטנט: סדרת מאמרים על dynamic
    A avr416

    בעקבות זה שלא הכרתי את המושג הנ"ל.. יצאתי לשיטוט קצר במרחבי הרשת
    ומצאתי שהרב דוטנט כתב על זה באריכות סדרה של כמה פוסטים טובים.
    http://blogs.microsoft.co.il/shlomo/2009/07/02/c-40-table-of-content/
    מומלץ בחום לכל מי שלא מכיר :lol:

    פורסם במקור בפורום CODE613 ב11/08/2015 16:01 (+03:00)


  • איך ליצור שאילתת join בlinq to Object
    A avr416

    החלטתי לנסות לכתוב קצת לתועלת הדורות הבאים (אם בכלל יהיו כאלה שעוד ישתמשו בזה כי הרי כולם היום משתמשים בSQL :lol: :lol: )
    אז חיפשתי היום אצל הרב גוגל שליט"א כיצד אני יוצר את השאילתא הנל (שמטרתה לאחד בין 2 טבלאות ע"פ שדה אחד מקושר)
    אני מחפש בליסט של תרומות ע"פ הפרמטרים שהמשתמש מזין, ואח"כ אני רוצה להזין לו את רשימת התורמים שתרמו את התרומות הנ"ל ושביחד עם זאת יוצגו לו גם נתוני התרומה.
    (כדי להציג לו רק את רשימת התורמים ללא נתוני התרומה - אין צורך להשתמש בJOIN אלא מספיק לכתוב לולאה מקוננת כך:

    List<Donor> donorSearch = new List<Donor>()
    foreach(Donation dona in donatFilter)
                    {
                        foreach(Donor donor in AddTorem.donors)
                        {
                            if (donor.Id == dona.IdDonor)
                                donorSearch.Add(donor);
                        }
                    }
    

    אולם אני רציתי ליצור ליסט חדש שיש בו גם חלק מהמאפיינים של העצם Donor (תורם) וגם חלק מהמאפיינים של העצם (תרומה) Donation.
    לכן כתבתי כך:

    var newlistDonors = from d in donorSearch
                                  join o in donatFilter on d.Id equals o.IdDonor
                                  select new { d.Id, o.IdDonation, d.FirstName, d.LastName, d.Adress, d.Tel, d.Email,
                                      o.SumDonation, o.SumAllDonat, o.StartDonation, o.SumMonthDonat };
    

    נסביר מעט:
    בשורה הראשונה אני יוצר משתנה ומגדיר לו שיריץ את השאילתה על ליסט בשם donorSearch (שזהו הליסט של תוצאות החיפוש)
    אח"כ אני מגדיר לו שהjoin הוא על ליסט בשם donatFilter כאשר ההשואה בין שני הליסטים תתבצע ע"פ הפרמטר id
    ואז אני נותן לו פקודת select שיצור עצם חדש ובתוכו אני בוחר איזה מאפיינים אני רוצה מהעצם של הליסט הראשון ואיזה אני רוצה משל האחרון, והוא מאחד ביניהם ויוצר לי ליסט חדש עם עצם מסוג חדש שכולל את כל המאפיינים הללו.
    אח"כ אני לוקח את הליסט החדש שנוצר לי ומציג אותו למשתמש!!

    פורסם במקור בפורום CODE613 ב10/08/2015 23:36 (+03:00)


  • ייעול של פונקציות החיפוש
    A avr416

    תודה רבה!
    תיקון קטן..
    בפונקציה match צריך להוסיף static אחרת זה מחזיר שגיאה..

    פורסם במקור בפורום CODE613 ב11/08/2015 14:59 (+03:00)


  • חיפוש רק חלק מהמילה
    A avr416

    @softs

    והנה פשוט יותר עם linq 🙂

    public static IEnumerable<Donor> SearchName(IEnumerable<Donor> lst, string sName)
    {
         return lst.Where(d => d.FirstName == sName || d.LastName == sName);
    }
    

    התכוונת כמובן לכתוב כך::

    return list.Where(d => d.FirstName.Contains(name)  || d.LastName.Contains(name));
    

    כי איך שכתבת זה מחפש רק כאשר כל הסטרינג מופיע במאפיין..

    פורסם במקור בפורום CODE613 ב09/08/2015 11:26 (+03:00)


  • serilization לכל התוכנה
    A avr416

    @דוד ל.ט.

    תוכל גם במקום להקצות שם לקובץ אחד אחד להשתמש בשם הקלאס ע"י GetType().Name

    תיזהר פעם הבאה שאתה מבקש עצות, סכנת הצפה 🙂

    מעולה!! עצות מחכימות ומועילות!! הלוואי וכל הסכנות היו כאלה :lol:
    שיניתי את כל המחלקה כמו שאמרת!!
    לגבי העצה לעשות את ההמרה במתודה של הדיסריליזציה לא במתודה עצמה: זה לא עבד לי אלא נתן הודעת שגיאה שאת ההמרה צריך לבצע מיד במקום.

    @רחמים

    בשביל לקצר את הקוד והמורכבות הייתי עושה כך
    יוצר מחלקה אבסטרקטית היורשת מליסט או ObservableCollection
    מחלקה זו תטפל בכל הנושא של קריאה וכתיבה מהדיסק
    וכל הליסטים האחרים של התרומות ותורמים וכו' ירשו ממחלקה אבסטרקטית הנ"ל וכך כל דבר יהיה כתוב רק פעם אחת.
    כשתרצה להוסיף ליסט חדש לתוכנה כל שעליך לעשות זה להצהיר שהוא יורש מהמחלקה הנ"ל ולהמציא נתיב שמירה.

    הבעיה עם זה שאם יש לי מחלקות שיורשות ממחלקות אחרות בתכנית זה לא יועיל, כי אפשר לרשת רק ממחלקה אחת.

    תודה רבה רבה על כל העצות!! מה הייתי עושה בלעדיכם :lol:

    פורסם במקור בפורום CODE613 ב31/07/2015 08:26 (+03:00)


  • serilization לכל התוכנה
    A avr416

    מה שעשיתי בסופו של דבר:
    כתבתי מחלקה של סריליזציה ודסריליזציה,
    אני נותן למשתמש לבחור את התיקייה הרצויה עליו (או ליצור חדשה) ובה נשמרים הנתונים.
    בתיקייה שהוא בחר אני יוצר (מאחורי הקלעים) עוד 2 תיקיות משנה: userdata ו data כמו שרחמים המליץ.
    בתוך התיקייה דטה אני שומר כל ליסט בתור קובץ נפרד.
    בפתיחה של הקבצים, הוא בוחר את התיקייה הראשית שהוא יצר, ואני לבד פותח את הקבצים מתוך תיקיות המשנה.

    כתבתי את הקוד הבא: (אזהרה - קצת ארוך :lol: )

    public static class SerilizationAll
        {
            //סריליזציה של כל התכנית
            public static void Serilization()
            {
                FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
    
                if (folderBrowser.ShowDialog() == DialogResult.OK)
                {
                    string folder = folderBrowser.SelectedPath;
    
                    folder += @"\userData\data";//מוסיף לנתיב תיקיית משנה לשמירת הנתונים
                    DirectoryInfo directoryInfo = new DirectoryInfo(folder);
                    directoryInfo.Create();//יוצר את ספריות המשנה
                    serilizationList(folder);//קורא למתודה שמבצעת את הסריליזציה                
                }
            }
            //סריליזציה של כל הליסטים מקבלת את הערך של התיקייה לשמירת הנתונים
            public static void serilizationList(string folder)
            {
                //יוצר את שמות הקבצים עבור כל הליסטים
                string fileDonor = folder;
                string fileDonation = folder;
                string fileCredit = folder;
                string fileBank = folder;
                fileDonor += @"\donorList";
                fileDonation += @"\donationList";
                fileCredit += @"\creditCardList";
                fileBank += @"\bankAccountList";
                //יוצר אובייקטים המקבלים את רשימות הליסטים הקיימים בתוכנית
                var donationObject = AddTorem.donations;
                var donorsObject = AddTorem.donors;
                var creditObject = AddTorem.credits;
                var bankObjects = AddTorem.accounts;
                //סריאליזציה עבור כל ליסט לקובץ נפרד
                using (FileStream fs = new FileStream(fileDonor, FileMode.Create))
                {
                    XmlSerializer donorXmlS = new XmlSerializer(typeof(List<Donor>));
                    donorXmlS.Serialize(fs, donorsObject);
                }
                using (FileStream donatStr = new FileStream(fileDonation, FileMode.Create))
                {
                    XmlSerializer donationXmlS = new XmlSerializer(typeof(List<Donation>));
                    donationXmlS.Serialize(donatStr, donationObject);
                }
                using (FileStream creditStream = new FileStream(fileCredit, FileMode.Create))
                {
                    XmlSerializer creditXmlS = new XmlSerializer(typeof(List<CreditCard>));
                    creditXmlS.Serialize(creditStream, creditObject);
                }
                using (FileStream bankStream = new FileStream(fileBank, FileMode.Create))
                {
                    XmlSerializer bankXMLs = new XmlSerializer(typeof(List<BankAccount>));
                    bankXMLs.Serialize(bankStream, bankObjects);
                }
            }
            //deserilization for all program
            public static void Deserilization()
            {
                FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
                if (folderBrowser.ShowDialog() == DialogResult.OK)
                {
                    string folders = folderBrowser.SelectedPath;
                    folders += @"\userData\data";//מוסיף לנתיב את הנתיב לתיקיית משנה בה קיימים הנתונים
                   //קורא למתודות שמבצעות את הסריליזציה על התיקייה שנבחרה ומציב את הערך שמתקבל בליסטים הקיימים בתכנית
                    AddTorem.donors=  DeserilizationDonor(folders);
                   AddTorem.donations = DeserilizationDonation(folders);
                   AddTorem.credits = DeserilizationCreditCard(folders);
                   AddTorem.accounts = DeserilizationBankAccount(folders);
                }
            }
    
            private static List<BankAccount> DeserilizationBankAccount(string folders)
            {
                string fileBank = folders;
                fileBank += @"\bankAccountList";//בוחר בקובץ הדרוש
                var myObject = new List<BankAccount>();
                using (FileStream fs = new FileStream(fileBank, FileMode.Open))
                {
                    XmlSerializer xmlser = new XmlSerializer(typeof(List<BankAccount>));
                    myObject = (List<BankAccount>)xmlser.Deserialize(fs);
                    return myObject;
                }
            }
    
            private static List<CreditCard> DeserilizationCreditCard(string folders)
            {
                string fileCredit = folders;
                fileCredit += @"\creditCardList";
                var myObject = new List<CreditCard>();
                using (FileStream fs = new FileStream(fileCredit, FileMode.Open))
                {
                    XmlSerializer xmlser = new XmlSerializer(typeof(List<CreditCard>));
                    myObject = (List<CreditCard>)xmlser.Deserialize(fs);
                    return myObject;
                }
            }
    
            private static List<Donation> DeserilizationDonation(string folders)
            {
                string fileDonation = folders;
                fileDonation += @"\donationList";
    
                var myObject = new List<Donation>();
                using (FileStream fs = new FileStream(fileDonation, FileMode.Open))
                {
                    XmlSerializer xmlser = new XmlSerializer(typeof(List<Donation>));
                    myObject = (List<Donation>)xmlser.Deserialize(fs);
                    return myObject;
                }
            }
            private static List<Donor> DeserilizationDonor(string folders)
            {
                string fileDonor = folders;            
                fileDonor += @"\donorList";
                var myObject = new List<Donor>();
                using (FileStream fs = new FileStream(fileDonor, FileMode.Open))
                {
                    XmlSerializer xmlser = new XmlSerializer(typeof(List<Donor>));
                    myObject = (List<Donor>)xmlser.Deserialize(fs);
                    return myObject;
                }
            }
        }
    

    הכל עובד חלק!!! תודה רבה על העזרה והתמיכה!!
    השאלה שלי היא האם אי אפשר לייעל את זה, כיון שבסוף נאלצתי לכתוב מתודה נפרדת לפתיחת כל ליסט. האם אי אפשר לכתוב מתודה גנרית שתדע לזהות לבד את הערך של כל ליסט הנשלח אליה ולחלץ אותו?
    בטח זה אפשרי, אבל לא הצלחתי.. ניסיתי לכתוב במתודה List<T> אבל זה לא הצליח לי.. אז נאלצתי לכתוב 4 מתודות שבעצם עושות אותו דבר..

    פורסם במקור בפורום CODE613 ב30/07/2015 15:50 (+03:00)


  • "תוכנה לניהול מוסד", וואלה!...
    A avr416

    @ClickOne

    @רחמים
    למה אתה מעדיף ללמוד על הבשר ולא לשבת וללמוד?

    רחמים, אתה למדת על הבשר, או ישבת ולמדת לשם לימוד?

    לדעתי אבי כעת לומד לשם לימוד,
    אבל אני באופן אישי למדתי על הבשר של הלקוח הראשון שלי, וביננו, בלי שהלקוחות ישמעו, תמיד יש פעם ראשונה שמנסים על הלקוח בכל דבר חדשש. למשל ממשק למרכזייה, SMS וכו'

    לא יודע אם התכוונת אלי.. אבל אני אכן לומד לשם לימוד..
    אבל גם אם הייתי רוצה - אין לי לקוחות :lol:
    וחוצמיזה אני לא ככ מבין איך אפשר ללמוד על הבשר (חוץ מבאקסס שזה נשמע כאי' הדבר היחיד שצריך לעשות זה לכתוב קוד, וכל הממשק הויז'ואלי כבר מוכן..) הרי חסר לי ככ הרבה ידע, אז מה אעשה כשהוא יבקש גם חיבור לדטהבייס וגם חיבור לווב ושהוא יוכל לגשת מכמה מכשירים, וכו' וכו'? הרי יש דברים שלוקח ככ הרבה זמן כדי ללמוד, והלקוח בטח רוצה את התוכנה כמה שיותר מהר ולא בעוד כמה חדשים... :lol: :lol:

    פורסם במקור בפורום CODE613 ב31/07/2015 08:31 (+03:00)


  • "תוכנה לניהול מוסד", וואלה!...
    A avr416

    כי הוא יצא לבין הזמנים.. (בעצם, גם הילדים שלו יצאו :lol: )

    פורסם במקור בפורום CODE613 ב30/07/2015 00:06 (+03:00)


  • בינדינג לקומבובוקס עם ערכים שהוזנו ישירות בזאמל
    A avr416

    @דוד ל.ט.

    הערה: SelectedItem זה הערך עצמו ואילו SelectedValue מחזיר ערך בהתאם להגדרה SelectedValuePath

    בקשר לשאלה והמבוכה, אכן מעצבן, אין לי דרך זהב.

    תודה על ההערה, בדיוק במקום! באמת רציתי לשאול אתמול מה ההבדל בין סוגי הselected...
    ואז נזכרתי בסוד המסחרי של ארכיטקט :smile: ועשיתי שאלת רב (אצל הרב גוגל..)
    וקיבלתי תשובה מstackoverflow (אחרי שקצת שברתי את השיניים...)

    פורסם במקור בפורום CODE613 ב29/07/2015 15:39 (+03:00)

  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום