изучаем основы umbarco

Как добавить новый datatype в umbarco
1)руками
2)через wrapper
3)видео
4)динамик пропертис видео к этому

*как изменить default page в umbarco
просто поставить в дереве контента её на первое место

*как решить проблему по поводу того чтобы под разные девайсы и браузеры сжимался боди
вот что нашёл http://css-tricks.com/body-border/

*как добавить BingMap
да пожалйста,устанавливаем компонент и пишем
<form runat="server">
<umbraco:Macro bingMapNode="[#mainBingMap]" Alias="bingMapAdvanced" runat="server"></umbraco:Macro>
</form>

*как же это всё заделать под iphone
http://interpretor.ru/iphone_dev

*изменения размера шрифта от размера страницы
http://dimox.name/dynamic-font-size-on-jquery/

*что такое em pt %
http://www.askdev.ru/frontend/484/Размеры-в-em-ex-pt-px-в-чем-разница/

*какие же размеры экранов у девайсов
iphone - 320 х 480
ipad - 1024 x 768
у меня htc gratia 320x480 точно такое же как у iphone, так что можно тестировать

*как добавить bing map на свою страницу
http://msdn.microsoft.com/en-us/library/gg427610.aspx

*как вызвать один разор скрипт из другого
http://our.umbraco.org/forum/developers/razor/26993-Calling-Razor-from-Razor

*как узнать величину боди


*как чтобы div пальцем прокручивался на iphone
http://cubiq.org/iscroll

African Melody III (Melodia Africana III) by Ludovico Einaudi on Grooveshark

с# как прочитать web.config раздел appsettings / C# Read web.config section in appsettings

Всё очень просто оказывается
string s =System.Configuration.ConfigurationManager.AppSettings["smtpserver"];

А в файле web.config:
<appSettings>
  <add key="smtpserver" value="smtp.mail.ru"/>
</appSettings>

ExtJS основы

ПРИМЕРЫ. Вот ссылку мне дали,я так понимаю это официальный сайт разработчика и там есть куча примеров http://cdn.sencha.io/ext-4.0.7-gpl/examples/

LAYOUT. По позиционировании контролов смотрим тему про layout(слои):
Вот допустим слой HBox http://cdn.sencha.io/ext-4.0.7-gpl/examples/layout/hbox.html. Тыкаем и смотрим как в зависимости от настройек лэйауте меняется расположение контролов.Чтобы посмотреть как это всё делается,смотрим исходный код страницы там расписано.
Туда же слой VBox http://cdn.sencha.io/ext-4.0.7-gpl/examples/layout/vbox.html

ДОКУМЕНТАЦИЯ. http://cdn.sencha.io/ext-4.0.7-gpl/docs/index.html#!/api


c# Как отправить емэйл ( email ) / c# How to send email

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("[email protected]");
message.Subject = "This is the Subject line";
message.From = new System.Net.Mail.MailAddress("[email protected]");
message.Body = "This is the message body";
System.Net.Mail.SmtpClient _SmtpClient = new System.Net.Mail.SmtpClient("smtp.mail.ru");
_SmtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
System.Net.NetworkCredential _NetworkCredential = new System.Net.NetworkCredential("smtpuser", "smtppassword");
_SmtpClient.UseDefaultCredentials = false;
_SmtpClient.Credentials = _NetworkCredential;

System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("c:\\textfile.txt");
    message.Attachments.Add(attachment);
_SmtpClient.Send(message);


вот здесь можно ещё почитать
http://www.digitalcoding.com/Code-Snippets/C-Sharp/C-Code-Snippet-Send-Email-Using-SMTP-Server.html

C# WPF Control with transparent background

  1. //Set background color
  2. mycontrol.Background = Brushes.Green;
  3. //Not transparent
  4. mycontrol.Opacity=1;
  5. //Half transparent
  6. mycontrol.Opacity=0.5;

How to add a CheckBox to a Menu Item in WPF

xaml
  1. <MenuItem IsCheckable="True" x:Name="_showSolutionExplorer" Header="Solution Explorer" Click="_showContent_Click"></MenuItem>  

c#
  1. private void _showContent_Click(object sender, RoutedEventArgs e)   
  2. {   
  3.     If ((sender as MenuItem).IsChecked)   
  4.         MessageBox.Show("MenuItem is checked");   
  5.     else   
  6.         MessageBox.Show("MenuItem is not checked");   
  7. }  

C# Write and read config file

app.config

  1. <?xml version="1.0"?>  
  2. <configuration>  
  3.   <appSettings>  
  4.     <add key="oldPlace" value="4" />  
  5.   </appSettings>  
  6. </configuration>  

Write:


  1. System.Configuration.Configuration config =ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);  
  2. config.AppSettings.Settings["oldPlace"].Value = "3";       
  3. config.Save(ConfigurationSaveMode.Modified);  
  4. ConfigurationManager.RefreshSection("appSettings");  

Read:

  1. string value = ConfigurationManager.AppSettings["oldPlace"];  

c# wpf treeView return list of all nodes / Рекурсивный перебор элементов


  1. private void PrintRecursive(TreeNode treeNode)   
  2. {   
  3.    // Print the node.   
  4.    System.Diagnostics.Debug.WriteLine(treeNode.Text);   
  5.    MessageBox.Show(treeNode.Text);   
  6.    // Print each node recursively.   
  7.    foreach (TreeNode tn in treeNode.Nodes)   
  8.    {   
  9.       PrintRecursive(tn);   
  10.    }   
  11. }   
  12.    
  13. // Call the procedure using the TreeView.   
  14. private void CallRecursive(TreeView treeView)   
  15. {   
  16.    // Print each node recursively.   
  17.    TreeNodeCollection nodes = treeView.Nodes;   
  18.    foreach (TreeNode n in nodes)   
  19.    {   
  20.       PrintRecursive(n);   
  21.    }   
  22. }  

Настройка принтера HP P1102w через WIFI

Вообщем всё очень просто. Сама идея заключается в том что ваш принтер подключается к WiFi роутеру,а все находящиеся в зоне действия этого wifi могут подключится к принтеру,сам принтер стоит в углу включенный в разетку и мигает синей лампочкой.

Итак поэтапно:
1. Подключаем принтер к любому компьютеру,устанваливаем все дрова и программы стандартно с диска, при установке выбираем "Подключение через USB"
2. Потом заходим в пуск,находим в программах папку с нашим принтером,там есть специальная программка для настройки wifi,не помню как точно называется,запускаем её.
3. Там выбираем настроить вручную,не автоматом,принтер ищет доступные wifi роутеры, выбираем нужный, вводим пароль от wifi, жмем ОК
4. Теперь остается с компьютеров которые желаем подключить зайти в "устройства и принтеры" и нажать добавить принтер, там выбрать подключение по беспроводной сети. Данный компьютер должен быть естественно подключен к wifi. Следуем инструкциям и вуаля, всё работает.
5. Пункт 4 повторяем со всеми нужными компьютерами. 

Timer in WPF


  1. private void Window_Loaded(object sender, RoutedEventArgs e)   
  2.    
  3. {   
  4.    
  5.     DispatcherTimer dispatcherTimer = new DispatcherTimer();   
  6.    
  7.     dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);   
  8.    
  9.     dispatcherTimer.Interval = new TimeSpan(0, 0, 1);   
  10.    
  11.     dispatcherTimer.Start();   
  12.    
  13. }   
  14.    
  15.     
  16.    
  17. private void dispatcherTimer_Tick(object sender, EventArgs e)   
  18.    
  19. {   
  20.    
  21.     listBox1.Items.Add(DateTime.Now.Hour.ToString() + ":" +   
  22.    
  23.         DateTime.Now.Second.ToString());   
  24.    
  25.        
  26.    
  27.     CommandManager.InvalidateRequerySuggested();   
  28.    
  29.     listBox1.Items.MoveCurrentToLast();   
  30.    
  31.     listBox1.SelectedItem = listBox1.Items.CurrentItem;   
  32.    
  33.     listBox1.ScrollIntoView(listBox1.Items.CurrentItem);   
  34.    
  35. }  



Multi-coloured code for a blog http://aivolkov.ru/online-syntax-highlighter/

c# WPF Аналог Delphi Application.ProcessMessages и WinForms Application.DoEvents


  1. private void DoEvents()   
  2. {   
  3.     Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { }));   
  4. }   
  5.   
  6. private void btnDel_Click(object sender, RoutedEventArgs e)   
  7. {   
  8.     popupLoad.IsOpen = true;   
  9.     DoEvents();   
  10.     if (eDelRecord != null)   
  11.         eDelRecord(this, EventArgs.Empty);   
  12.     popupLoad.IsOpen = false;   
  13. }  

masterhost , подключение к mysql через ssh . Прямой доступ к mysql на хостинге

Небольшую инструкцию вы можете найти в faq'е самого мастерхоста , но к сожалению putty не поддерживает открытым соединение,если оно отвалилось - то отвалилось. Выхода два
1. писать самому
2. использовать MyEnTunnel
Несмотря на все заверения техподдержки мастерхоста что ssh тунель не отваливается при активной работе - он благопулочно и без зазрений совести это периодически всё-таки делает.

Итак настраиваем MyEnTunnel

Во вкладке Settings пишем
SSH Server: uXXXXX.ssh.masterhost.ru
Username: uXXXXX
Вводим пароль,ставим чтобы запускалось при старте компьютера,ну это если вдруг разработали десктопное приложение и устанавливаем программу пользователю


Во кладке Tunnels пишем в Local
3306:uXXXXX.mysql.masterhost.ru:3306
Жмём коннект и вуаля - наша программа работает,теперь она подключается на localhost на стандартный порт 3306


Смотрим чтобы замок тал зеленым


p.s. есть кстати хостинги без этой замороки - например 1gb

c# Protecting a connectionstring in a configuration file

  1. private void DataProtectionAPI()   
  2. {   
  3.     try   
  4.     {   
  5.         System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(   
  6.         System.Reflection.Assembly.GetExecutingAssembly().Location);   
  7.   
  8.         ConnectionStringsSection section =   
  9.         config.GetSection("connectionStrings"as ConnectionStringsSection;   
  10.   
  11.         if (!section.SectionInformation.IsProtected)   
  12.         {   
  13.             section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");   
  14.             config.Save();   
  15.         }   
  16.   
  17.     }   
  18.     catch   
  19.     {   
  20.     }   
  21. }  

c# WPF oval button

  1. <ControlTemplate x:Key="myButton" TargetType="Button">   
  2.     <Grid Width="{TemplateBinding ActualWidth}"   
  3.             Height="{TemplateBinding ActualHeight}" Background="#00FFFFFF">   
  4.         <Ellipse Name="Circle" StrokeThickness="1">   
  5.             <Ellipse.Fill>   
  6.                 <LinearGradientBrush EndPoint="2.2,0" StartPoint="0,0">   
  7.                     <LinearGradientBrush.GradientStops>   
  8.                         <GradientStop Offset="0" Color="LightGray" />   
  9.                         <GradientStop Offset="0.3" Color="Gray" />   
  10.                     </LinearGradientBrush.GradientStops>   
  11.                 </LinearGradientBrush>   
  12.             </Ellipse.Fill>   
  13.         </Ellipse>   
  14.         <ContentPresenter x:Name="content" HorizontalAlignment="Center" VerticalAlignment="Center"/>   
  15.     </Grid>   
  16.     <ControlTemplate.Triggers>   
  17.         <Trigger Property="UIElement.IsEnabled" Value="false">   
  18.             <Setter Property="Shape.Fill" TargetName="Circle">   
  19.                 <Setter.Value>   
  20.                     <LinearGradientBrush EndPoint="2.2,0" StartPoint="0,0">   
  21.                         <LinearGradientBrush.GradientStops>   
  22.                             <GradientStop Offset="0" Color="#FFFFFFFF" />   
  23.                             <GradientStop Offset="0.5" Color="#FFEBEEF5" />   
  24.                             <GradientStop Offset="0.5" Color="#FFD8DDEB" />   
  25.                             <GradientStop Offset="1" Color="#FFDFE2F0" />   
  26.                         </LinearGradientBrush.GradientStops>   
  27.                     </LinearGradientBrush>   
  28.                 </Setter.Value>   
  29.             </Setter>   
  30.         </Trigger>   
  31.         <Trigger Property="UIElement.IsMouseOver" Value="true">   
  32.             <Setter Property="Shape.Fill" TargetName="Circle">   
  33.                 <Setter.Value>   
  34.                     <LinearGradientBrush EndPoint="2.2,0" StartPoint="0,0">   
  35.                         <LinearGradientBrush.GradientStops>   
  36.                             <GradientStop Offset="0" Color="#FFFFFFFF" />   
  37.                             <GradientStop Offset="0.1" Color="#FFDFEDF9" />   
  38.                             <GradientStop Offset="0.47" Color="#FF3086E1" />   
  39.                             <GradientStop Offset="0.47" Color="#FF003B91" />   
  40.                             <GradientStop Offset="0.7" Color="#FF1793EF" />   
  41.                             <GradientStop Offset="0.85" Color="#FF5AD4FF" />   
  42.                             <GradientStop Offset="0.95" Color="#FFBDFFFF" />   
  43.                             <GradientStop Offset="1" Color="#FFFFFFFF" />   
  44.                         </LinearGradientBrush.GradientStops>   
  45.                     </LinearGradientBrush>   
  46.                 </Setter.Value>   
  47.             </Setter>   
  48.         </Trigger>   
  49.         <Trigger Property="ButtonBase.IsPressed" Value="True">   
  50.             <Setter Property="Shape.Fill" TargetName="Circle">   
  51.                 <Setter.Value>   
  52.                     <LinearGradientBrush EndPoint="2.2,0" StartPoint="0,0">   
  53.                         <LinearGradientBrush.GradientStops>   
  54.                             <GradientStop Offset="0" Color="#FFC0D2F5" />   
  55.                             <GradientStop Offset="0.47" Color="#FF5E7A9C" />   
  56.                             <GradientStop Offset="0.47" Color="#FF00062D" />   
  57.                             <GradientStop Offset="0.7" Color="#FF005F9F" />   
  58.                             <GradientStop Offset="0.85" Color="#FF1FA4E2" />   
  59.                             <GradientStop Offset="0.95" Color="#FF61DAFF" />   
  60.                             <GradientStop Offset="1" Color="#FF48CFFF" />   
  61.                         </LinearGradientBrush.GradientStops>   
  62.                     </LinearGradientBrush>   
  63.                 </Setter.Value>   
  64.             </Setter>   
  65.         </Trigger>   
  66.     </ControlTemplate.Triggers>   
  67. </ControlTemplate>   

Result:


No action


IsMouseOver


IsPressed