DCSIMG
מפתח מפתח מפתח

מפתח מפתח מפתח

Demo Oriented and more...

התוסף Image Optimizer

שלום לכולם,

אני מעוניין להכיר לכם תוסף מעניין שמייעל ומטפל בשבילכם באיכות התמונות באתרים שאתם מפתחים.

התוסף:

Image Optimizer

יש להתקין את התוסף ב- VisualStudio2010

 בחירה בתפריט ב:

Tools -> Extension Manager-> Online Gallery

ולחפש את התוסף:

Image Optimizer

לאחר התקנת התוסף ובחירת תמונה ו/או תיקייה המכילה תמונות יש ללחוץ על קליק ימני ובחירה בייעול תמונות.

התמונות הנבחרות יעברו "טיפול" וגודלם יוקטן ללא פגיעה באיכותם.

 imageoptimizer

הטריק הוא שהתוסף מעביר את התמונות שבחרתם דרך האלגוריתמים שקיימים באתרים:

SmushIt
PunyPNG

פורמטים של תמונות שנתמכים על ידי התוסף הם:

GIF

Animated GIF

JPG

PNG 

 

למידע נוסף לחצו כאן

 

בהצלחה

רוני 

cmd - Command Prompt

 

כל יום לומדים משהו חדש!

 

ראיתי את אחד המתכנתים שלי משתמש ב- Command Prompt בפקודה חזקה שלא הכרתי

start.

 רוצים לדעת קצת על Command Prompt ועל הפקודה הנ"ל תקראו כדאי לכם להמשיך לקרוא את הפוסט.

 

אז נתחיל.

כולנו משתמשים Command Prompt במערכת ההפעלה של מיקרוסופט

להפעלה (למי שלא מכיר/זוכר)

Start -> Run -> cmd

 

את הפקודות הרגילות כגון:

ipconfig

netstart

hostname

cls

pause

ו-exit

כולנו מכירים (ומי שלא מכיר מוזמן לנסות להריץ את הפקודות ולראות למה הן משמשות או לחפש באינטרנט למה הן משמשות).

 

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

הפקודה at

משמשת להפעלת פעולה בזמן שנבחר. דוגמה לשימוש:

at 18:00 md "cmd test"

(בשעה 18:00 צור תיקיה בשם: cmd test)

 

הפקודה color

משמשת לצביעת הרקע והפונט של חלון הפקודה. דוגמה לשימוש:

color 02

פונט ירוק ברקע שחור (כמו בסרט מטריקס (:)

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

לקבלת רשימת הצבעים יש לכתוב:

color /help 

 

הפקודה title

משמשת לשינוי המלל בשורת הכותרת (מעולה למצגות ולצילומי מסך). דוגמה לשימוש:

title new title

הפקודה משנה את שורת הכותרת ל: new title

 

והפקודה "החדשה" start.

הפקודה משמשת לפתיחת המיקום של חלון בממשק ויזואלי. דוגמה לשימוש:

c:\> start.

כונן C יפתח בחלון בממשק ויזואלי.

 

 

יש לכם פקודות נוספות שאתם מכירים? שתפו את כולנו, פשוט הוסיפו את הפקודות עם ההסבר בתגובות לפוסט.

 

בברכת קידוד נעים

רוני

 

How to change view source editor

 

שלום לכולם,

ראיתי באחד הסירטונים ב-asp.net את המרצה עושה view source והקוד שהוצג הופיע בצבע.

 

 החלטתי שאני רוצה גם! לא עוד notepad משמים שמגיע כברירת מחדל עם האקספלורר! צבע זה העתיד!

 

אז התחלתי לבחון חלופות ומצאתי את ++notepad. אתם מוזמנים להתרשם ולהוריד אותו מכאן.

ומה שיותר חשוב גיליתי כיצד לבצע את ההחלפה של notepad המגיע כברירת מחדל ב view source.

 

השינוי מתבצע כמובן ברגיסטרי.

(למי שלא מכיר start -> run -> regedit).

מחפשים את הערכים:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name]

ונותנים את המיקום של העורך החדש שבחרתם ב-Editor Name במקום notepad (מומלץ לגבות לפני השינוי :)).

במידה ולא קיימים לכם הערכים View Source Editor\Editor Name, יש ליצור אותם ואז להוסיף את המיקום של העורך החדש

כערך ברירת מחדל של Editor Name.

 

מה שנותר לעשות זה לסגור את כל הדפדפנים הפתוחים ומעכשיו תוכלו להשוויץ לחבריכם בעבודה או בספסל הלימודים ב-view source הססגוני שלכם.

 

קידוד נעים

רוני

 

ASP.net Export CSV

 שלום אנשים,

 והפעם כיצד ליצא נתונים לקובץ CSV.

 

בלי הרבה מילים בואו נתחיל לקודד.

נוסיף את המתודה הבאה לדף:

public void ExportCSV(DataTable data, string fileName)

{

Response.Clear();

Response.Buffer =
true;

Response.ContentType = "text/csv";

Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + ".csv");

Response.Charset = string.Empty;

Response.ContentEncoding = Encoding.GetEncoding(1255); StringBuilder sb = new StringBuilder();

// Write header

for (int i = 0; i <= data.Columns.Count - 1; i++)

{

if (i > 0) sb.Append(",");

 

sb.Append(data.Columns[i].ColumnName);

}

sb.Append(
Environment.NewLine);

// Write data

foreach (DataRow row in data.Rows)

{

for (int i = 0; i <= data.Columns.Count - 1; i++)

{

if (i > 0)

sb.Append(",");

sb.Append("\"" + row[i].ToString().Replace("\"", "\"\"") + "\"");

}

sb.Append(
Environment.NewLine);

}

Response.Write(sb.ToString());

Response.End();

}

מעבירים למתודה ExportCSV שני פרמטרים:

DataTable ושם לקובץ ה CSV שניצור.

ExportCSV(oDataTable, "Offers");

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

 

בהצלחה

רוני

 

Open a link in a new window (SharePoint List)

 

שלום לכולם,

עורכי התוכן אצלנו פנו אליי בבקשת עזרה

הבעיה שלהם הייתה כיצד לגרום לחלק מהקישורים ברשימת SharePoint להיפתח בחלון חדש.

 

מכיוון שהם לא רצו לשנות את התבנית של הדף ולא לנתק את הדף מבסיס הנתונים (unGhost) 

חיפשתי דרך אחרת לעשות את זה...

ומצאתי...

 

var arr = new Array();

arr = document.documentElement.getElementsByTagName("A");

//alert("Total Number of HTML 'A' Elements: " + document.documentElement.getElementsByTagName("A").length);

 

for(var i=0; i<arr.length; i++)

   document.documentElement.getElementsByTagName("A").item(i).target = "_blank";

 

הסבר על הקוד (JavaScript):

1. שומרים במערך (arr) את האלמנטים בדף של קישור (anchor tag A).

2. עוברים על המערך ומוסיפים לכל קישור את המאפיין לפתיחה בחלון חדש (blank).

 וזהו.

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

 

 את הקוד ניתן להוסיף לדף על ידי WP של עורך תוכן שמסומן כמוסתר ומגדירים אותו שיעלה אחרון בדף.

 

 

שיהיה קידוד נעים

רוני

 

"The MiniPost" dev tip 10: set scroll position after postback

 

היי אנשים,

מי שמפתח דפים בעלי הרבה נתונים (עד שנפתח Scroll בדף) בטוח נתקל בבעיה שבביצוע PostBack בתחתית הדף

וזאת מכיוון שכאשר הדף נטען מחדש הוא יוצג כאשר ה-Scroll "מכוון" לתחילת הדף.

 

והפיתרון לבעיה (לפחות מ-asp.net 2.0):

MaintainScrollPositionOnPostback

 

דוגמה לשימוש בדף:

<%@ Page MaintainScrollPositionOnPostback="true" %>

 

ניתן להוסיף את היכולת הנ"ל לכל הדפים בפרויקט ע"י הוספת השורה הבאה ב-web.config

<pages maintainScrollPositionOnPostBack="true" />

 

מקווה שעזרתי למי שנתקל בבעיה.

יום טוב

רוני

 

 

אאוטלוק טיפ: קיבוץ מיילים מאותו נושא

הי,
במקרה שקל גילה שבאאוטלוק יש אפשרות לקבץ מיילים ששלחנו וקיבלנו באותו הנושא.
משהו שמזכיר את הסגנון של ג'מייל (Gmail).

להלן המתכון:

החומרים הדרושים:
1 אאוטלוק.
1 אינבוקס.

אופן ההכנה:
הוספת השדה "שיחה" לרשימת השדות בכותרת

קליק ימני בכותרת -> בוחר השדות -> שיחה. (נמצא בקטגורית שדות נפוצים או כל שדות הדואר).


סימון השדה "שיחה" כשדה המקבץ

קליק ימני על השדה "שיחה" -> "קבץ לפי שדה זה".

וזהו.

 

נבדק ונמצא עובד בגרסאות 2003 ו-2007.

בתיאבון.

שינוי ערכות נושא לסביבת העבודה, הכנותי מראש


שלום לכולם,

אם יש לכם בעיה של עיוורון צבעים או שסתם נמאס לכם מהצבעים שאתם רואים כל יום בסביבת הפיתוח.

אתם יותר ממוזמנים להכנס לאתר הבא:

Visual Studio Theme Generator

באתר תוכלו לייצר לעצמכם ערכת נושא (Theme) לסביבת העבודה.

 

יש לשנות את הגדרת הצבעים.

לחיצה על refresh תציג לכם דוגמא כיצד נראת הערכה שיצרתם.

לחיצה על create תיצור את קובץ ההגדרות שאותו ניתן לייבא לסביבה ע"י לחיצה על:

tools.

Import and Export Settings.

(שם גם ניתן לשחזר את ברירת המחדל)

 

יצירה נעימה

רוני (עוזיאל)

Get data from MOSS Web services

 שלום אנשים,

 לכולנו יש MOSS באירגון (כמעט לכולנו).

 וכולם משתמשים ברשימות ב-MOSS (כמעט כולם).

אני אציג בפוסט זה כיצד להשתמש בנתונים ששמורים ברשימות (Lists) בשרת MOSS ע"י שימוש ב-WS הקיימים ב-MOSS.

 

המצרכים:

MOSS.

Visual Studio.

אורך רוח.

 

אופן ההכנה:

ב-Visual Studio

נוסיף web reference וניתן את כתובת האתר +

/_vti_bin/lists.asmx

לדוגמא:

http://<site>/_vti_bin/Lists.asmx

 

בקוד ונוסיף את השורות הבאות:

public XmlNode funGetItemDetails(string sItemId) {

WSS_Server.Lists oList = new WSS_Server.Lists();

oList.UseDefaultCredentials = true;

XmlDocument oXmlDoc = new System.Xml.XmlDocument();

XmlNode ndViewFields = oXmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", string.Empty);

XmlNode ndQueryOptions = oXmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", string.Empty);

XmlNode ndQuery = oXmlDoc.CreateNode(XmlNodeType.Element, "Query", string.Empty);

// CAML query

ndQuery.InnerXml = @"<Where><Eq><FieldRef Name='calcmodified1' /><Value Type='Calculated'>" + sItemId.Trim() + "</Value></Eq></Where>";

// GetListItems

XmlNode xmlList = oList.GetListItems(ConfigurationManager.AppSettings["ListName"], string.Empty, ndQuery, ndViewFields, string.Empty, ndQueryOptions, string.Empty);

return xmlList;

}

}

 

יפה!

 

ועכשיו להסברים:

1. קוראים ל-WS.

2. נותנים לו Credentials ברירת מחדל (למי שאין לו הרשאה על הרשימה לא יוכל לקבל ממנה נתונים).

3. בונים ענפים כש:

ndViewFields - איזה שדות להביא.

ndQueryOptions - פרמטרים על השאילתא.

ndQuery - שאילתא על הנתונים.

השאילתא נכתבת בשפת CAML

Collaborative Application Markup Language

חשוב ביותר: לא הייתי ממליץ להשקיע זמן בלהבין אותה אלא לחפש במנוע החיפוש החביב עליכם את התוכנה CAML BUILDER שבונה את השאילתות על ידי גרירה של שדות.

4. קוראים למתודה GetListItems

ומעבירים לה את שם הרשימה ואת הפרמטרים שהגדרנו בסעיף 3.

וזהו, יש לנו את הנתונים מהרשימה.

 

הערות:

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

אפשר להתחבר ל-WS ממחשב מרוחק כך שלא חובה לפתח על שרת ה-MOSS.

לא לשכוח לטפל בשגיאות.

 

בהצלחה ושיהיה קידוד נעים

רוני

 

נ.ב. הפוסט מוקדש ליהודה ולשאשא :)

 

Encode QueryString with special characters for AJAX

 

שלום לכולם,

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

 

טוב בואו נתחיל...

 

אני מעביר בקשה לשרת ב-QueryString והנה דוגמא ל-URL שאני משרשר אליו פרמטר (q).

url = "AutoComplete/AutoComplete.aspx?q=" + oTargetTextBox.value;

 

הנתונים נשלחים לשרת.

הנתונים חוזרים מהשרת

 והכל טוב ויפה.

 אבל...

כאשר נשלח תווים מיוחדים לדוגמא: ~!#$%^&*(){}[]=:/,;?+\'"\\@

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

 

והפתרון:

שלושת השיטות (JavaScript)

escape(), encodeURI(), encodeURIComponent()

 

בגדול ההבדלים בין השיטות (יש עוד כמו הבדלים :)):

escape לא מקודד את התווים: @*/+:

encodeURI לא מקודד את התווים:  :~!#$&*()=:/,;?+'@

encodeURIComponent לא מקודד את התווים: ~!*()'

 

דוגמא לשימוש כאשר הייתי צריך להעביר את התו + (פלוס):

url = "AutoComplete/AutoComplete.aspx?q=" + encodeURIComponent(oTargetTextBox.value);

 

שיהיה קידוד נעים

רוני

Video: The Eli Show E04 - The Revenge

"עוף טופיק"

 

והיום בסדרה "שידורי ה-אלי"... The Revenge

שם הפרק: "הנקמה".

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

 נא לא לנסות בבית.

 

רק טוב

רוני ושקל הפקות :)

 

"The MiniPost" dev tip 9: defaultbutton and defaultfocus

 והפעם במיני פוסט:

המאפיינים של התג Form -

defaultbutton

defaultfocus

 

שני מאפיינים שמאז שגיליתי אותם (מה לעשות לפעמים תוך כדי עבודה מתגלים להם מאפיינים חדשים)

אני משתמש בהם כמעט בכל דף.

 

defaultbutton - מאפשר לנו להגדיר איזה כפתור יהיה כפתור ברירת המחדל בדף שלנו. 

וכשנריץ את הדף בדפדפן ונלחץ על אנטר יופעל האירוע של הכפתור שהגדרנו במאפיין זה. 

defaultfocus - מאפשר לנו להגדיר הכין יהיה הפוקוס של סמן העכבר.

 

דוגמאת קוד:

<form id="frmParameters" runat="server" defaultbutton="btnAddParameter" defaultfocus="txtParameter">

 

שימוש נעים

רוני

 

Name.NameCtrl

היי

כל מי שהשתמש ב"נקודת שיתוף" (SharePoint) בטח שם לב שכשעומדים עם העכבר על שם משתמש
נפתחת לנו חלונית ובתוכה מידע על המשתמש המידע מכיל נתונים מ:
Active Directory, Outlook, Messenger.

הפונקציונליות הנ"ל מגיעה מ: Name.dll שמותקן במערכת כאשר מתקינים אופיס.

צילום מסך לדוגמה:

Name_dll


מי שמעוניין להוסיף את הפונקציונליות הנ"ל במערכות הווב שלו מוזמן להוסיף את קטע הקוד הבא:

<script language="JavaScript">

InitializeObject();

function InitializeObject() {

NameObj = new ActiveXObject("Name.NameCtrl");

}

function ShowOOUI(name) {

var obj = window.event.srcElement;

NameObj.ShowOOUI(name,0,0,0);

}

function HideOOUI() {

NameObj.HideOOUI();

}

</script>

 

in <body> tag:

<span onmouseover="ShowOOUI('someone@example.com')" onmouseout="HideOOUI()">

Whatever HTML

</span>

 

קישור למידע נוסף בנושא:

http://msdn.microsoft.com/en-us/library/bb862214.aspx

 

קידוד נעים

רוני

Just LiveIT (in plain English)

Hello Everybody,

Many times while surfing the web we find ourselves copying & pasting text into our preferred
search engine.

This search method can be changed by using LiveIT.
To download press here.

After installing LiveIT all we need to do in order to activate a text search in live.com search engine is to right click the text and select LiveIT.

Example:

LiveIT Sample

After using LiveIT surfing & searching becomes easier than ever before !
You won't understand how you managed all this time without it :)

 

The installation file includes and will install the following:

1. In the registry, an additional LiveIT key
 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\LiveIT]

This adds the LiveIT option to the right-click menu.


2. Live.html file will be copied to the c:\Windows directory
This file contains the logic of the LiveIT operation.


3. Live.lnk file will be copied to the c:\Windows directory.
This makes it easier to access Microsoft's Live Search from the Start -> Run -> LIVE.

You are more than welcome to edit Live.html and change the search engine to any other
search engine for eg: Wikipedia, netex, morfix, Google...

** The funEncode function in the JavaScript section defines UTF-8 Encoding allowing searches in multiple languages, built-in.


IGIO
Roni

 

 

"The MiniPost" dev tip 8: Copy SQL Server registerd servers list

 והפעם במיני פוסט:

העתקת השרתים הרשומים ב-SQL Server ממחשב למחשב (Shekel TIP).

 

אחד הדברים המציקים כשאנחנו מקבלים מחשב חדש הוא שצריך להגדיר מחדש את כל השרתים שהגדרנו ב- sql server management studio.

אז זהו...שלא.

אפשר להעתיק את ההגדרות של כל השרתים ממחשב למחשב ע"י העתקת הקובץ: RegSrvr.xml

הנמצא בנתיב:

C:\Documents and Settings\<USERNAME>\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell

למחשב החדש.

 

תתחדשו

רוני

 

 

More Posts Next page »