string value = textBox1.Text;
// меняем разделитель на текущий
value = System.Text.RegularExpressions.Regex.Replace(value, @",|\.", System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator);
// преобразуем строку в число
var result = double.Parse(value);
if (answ.error == 0) {
$('#кнопкаВхода').hide();
$('#home-button').show();
}
$('li[sort]').sort(function (a, b) {
return parseInt($(a).attr('sort'), 10) < parseInt($(b).attr('sort'), 10) ? -1: 1;
}).appendTo('ul');
[Serializable]
public class MyClass
{
}
// данные, которые будем сериализовать
var data = new List<int> { 1, 2, 3 };
// выполняем сериализацию
// в MemoryStream (можно в любой Stream)
var bf = new BinaryFormatter();
var m = new MemoryStream();
bf.Serialize(m, data);
// курсор потока переводим в начало, т.к. мы работали с потоком выше
// если открывать новый поток, то это делать не обязательно
m.Position = 0;
// выполняем десериализацию данных из MemoryStream
var result = (List<int>)bf.Deserialize(m);
// выводим результат в консоль
result.ForEach(itm => Console.WriteLine(itm));
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
if (info == null)
{
throw new ArgumentNullException("info");
}
info.AddValue("Ключ", "Значение");
info.AddValue("Ключ2", this.ИмяСвойства);
// и т.д.
}
// конструктор
protected ИмяКласса(SerializationInfo info, StreamingContext context)
{
if (info == null)
{
throw new ArgumentNullException("info");
}
this.Свойство = info.GetValue("Ключ", typeof(типДанных));
this.ИмяСвойства = (string)info.GetValue("Ключ2", typeof(string));
// и т.д.
}
[Serializable]
public class MyDictionary : Dictionary<string, object>, ISerializable
{
public MyDictionary() { }
protected MyDictionary(SerializationInfo info, StreamingContext context)
{
if (info == null)
{
throw new ArgumentNullException("info");
}
int count = info.GetInt32("Count"); // получаем число элементов
for (int i = 0; i < count; i++) // перебираем элементы
{
// получаем ключ и значение по индексу элемента
string key = info.GetString(String.Format("ItemKey{0}", i));
object value = info.GetValue(String.Format("ItemValue{0}", i), typeof(object));
// добавляем элемент в себя
this.Add(key, value);
}
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
if (info == null)
{
throw new ArgumentNullException("info");
}
// перебираем все элементы коллекции
int i = 0;
foreach (KeyValuePair<string, object> item in this)
{
// добавляем отдельно ключ и значение
info.AddValue(String.Format("ItemKey{0}", i), item.Key, typeof(string));
info.AddValue(String.Format("ItemValue{0}", i), item.Value);
i++;
}
// запоминаем, сколько всего элементов
info.AddValue("Count", this.Count);
}
}
// выполняем сериализацию коллекции
var data = new MyDictionary();
data.Add("Key", "Value");
data.Add("Key2", "Value2");
data.Add("Key3", 123);
var bf = new BinaryFormatter();
var m = new MemoryStream();
bf.Serialize(m, data);
// выполняем десериализацию
m.Position = 0;
var result = (MyDictionary)bf.Deserialize(m);
// выводим результат
foreach (var item in result)
{
Console.WriteLine("{0} = {1}", item.Key, item.Value);
}
[DisplayName("Сумма")]
public string Sum { get; set; }
public decimal SumDec
{
get
{
return Convertion.ToDecimal(this.Sum);
}
}
var requests = [];
requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
console.log(requests);
function Test(){
$.each(requests, function(i, req){
if(req.readyState == 0 || req.readyState == 4){
console.log(req.status + ': ' + req.statusText);
}else{
console.log(req.readyState);
}
});
}
Test();
window.setTimeout(Test, 3000);
<h1 id="перейтиСюда">Заголовок</h1>
...
<h1 id="илиСюда">Заголовок 2</h1>
var result = encodeURIComponent('кодированный текст here');
alert(result);
alert(decodeURIComponent(result));
var result = $.base64.encode(encodeURIComponent("вот такой вот метод кодирования\nраз, два, три!"));
result = result.replace(/[\+]{1}/g, '@').replace(/[\=]{1}/g, '~').replace(/[\/]{1}/g, '$');
console.log(result);
result = result.replace(/[\@]{1}/g, '+').replace(/[\~]{1}/g, '=').replace(/[\$]{1}/g, '/');
console.log(result)
console.log(decodeURIComponent($.base64.decode(result)));
Измененный вид Base64:
JUQwJUIyJUQwJUJFJUQxJTgyJTIwJUQxJTgyJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUI5JTIwJUQwJUIyJUQwJUJFJUQxJTgyJTIwJUQwJUJDJUQwJUI1JUQxJTgyJUQwJUJFJUQwJUI0JTIwJUQwJUJBJUQwJUJFJUQwJUI0JUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTBBJUQxJTgwJUQwJUIwJUQwJUI3JTJDJTIwJUQwJUI0JUQwJUIyJUQwJUIwJTJDJTIwJUQxJTgyJUQxJTgwJUQwJUI4IQ~~
Возвращаем нормальный вид Base64:
JUQwJUIyJUQwJUJFJUQxJTgyJTIwJUQxJTgyJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUI5JTIwJUQwJUIyJUQwJUJFJUQxJTgyJTIwJUQwJUJDJUQwJUI1JUQxJTgyJUQwJUJFJUQwJUI0JTIwJUQwJUJBJUQwJUJFJUQwJUI0JUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTBBJUQxJTgwJUQwJUIwJUQwJUI3JTJDJTIwJUQwJUI0JUQwJUIyJUQwJUIwJTJDJTIwJUQxJTgyJUQxJTgwJUQwJUI4IQ==
Декодируем Base64:
вот такой вот метод кодирования
раз, два, три!
// создаем форму для Dropbox
var login = new DropboxLogin("5nkunr8uscwfoba", "n7x9icfwoe6dehq") { Owner = this };
// показываем форму
login.ShowDialog();
// если пользователь авторизован
if (login.IsSuccessfully)
{
// можем получить маркер доступа и использовать для работы с API Dropbox
MessageBox.Show("Маркер доступа: " + login.AccessToken.Value);
}
<div class="main-body">
<div class="result">
<div id="source">Скопируй меня, если не боишься!</div>
</div>
<button id="ButtonCopy">Копировать</button>
</div>
<script src="ZeroClipboard.min.js" type="text/javascript"></script>
<script type="text/javascript">
var CopyText = document.getElementById('source').innerHTML;
var clip = new ZeroClipboard(document.getElementById('ButtonCopy'), { moviePath: 'ZeroClipboard.swf' });
clip.on('mousedown', function (client) {
client.setText(CopyText);
});
clip.on('complete', function (client, args) {
alert('Текст: "' + args.text + '" успешно помещен в буфер обмана!');
});
clip.on('noflash', function (client) {
alert("А <s>компот</s> Flash?");
});
</script>
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
OpenFileDialog1.ShowDialog()
TextBox1.Text = OpenFileDialog1.FileName
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' если пользователь не захотел выбирать файл, выходим
If Not OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then Return
' пользователь выбрал файл
TextBox1.Text = OpenFileDialog1.FileName
End Sub
If TextBox1 = Acct_NoTextbox.Text Then
If TextBox1.Text = Acct_NoTextbox.Text Then
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
' если значение TextBox1.Text - пустая строка или Nothing, то
If String.IsNullOrEmpty(TextBox1.Text) Then
MessageBox.Show("Select file for get size!")
Return ' выходим
End If
'можно сразу создать FileInfo и проверять существование файла через него
Dim file As New System.IO.FileInfo(TextBox1.Text)
If file.Exists Then
MessageBox.Show(file.Length & "Bytes")
Else
MessageBox.Show("Thise file is not existes on your PC")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
function GetCategoryByArt(art){
var result = $.grep(arr, function(cat){
return $.grep(cat.products, function(product){
return product.art == art;
}).length > 0;
});
return result.length > 0 ? result[0] : null;
}
function GetProductByArt(art){
var result = null;
$.each(arr, function(i, cat){
$.each(cat.products, function(j, product){
if(product.art == art)
{
result = product;
return;
}
});
if(result){ return; }
});
return result;
}
alert(GetCategoryByArt("3").title);
alert(GetProductByArt("3").prodname);
return x > value - 1000; // убираем лишнюю тысячу :)
return x + 1000 > value; // добавляем
var value = 0;
var value2 = value;
var predicates = new Predicate[]
{
x => x > value2
};
// using System.Linq.Expressions;
[TestMethod]
public void FunctionExtention_CombinePredicates_Should_Avoid_Closure()
{
var value = 0;
var iks = Expression.Parameter(typeof(int), "x");
var v = Expression.Constant(value, typeof(int)); // фиксируем значение value
var less = Expression.LessThan(v, iks);
var l = Expression.Lambda<Func<int, bool>>(less, new ParameterExpression[] { iks }).Compile();
var predicates = new Predicate<int>[]
{
x => l(x)
};
var result = FunctionExtentions.CombinePredicates(predicates);
value = 1000; // This should not affect the call above!
Assert.IsTrue(result(2));
Assert.IsTrue(result(5));
Assert.IsTrue(result(1000));
Assert.IsFalse(result(-20));
Assert.IsFalse(result(0));
Assert.IsFalse(result(-1000));
}
public static Predicate<T> CombinePredicates<T>(Predicate<T>[] predicates)
{
return item => predicates.All(predicate => predicate(item));
}
$( "#tags" ).autocomplete({
source: availableTags,
change: function(){
$(this).attr('data-select', $(this).val() != '');
},
select: function(){
$(this).attr('data-select', true);
},
close: function(){
if($(this).attr('data-select')!='true'){
$(this).val('');
}
}
});
$( "#tags" ).change(function(){
if($(this).attr('data-select')!='true'){
$(this).val('');
}
});
private: System::Void aPredelText_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)
{
// точка или запятая
if(e->KeyChar == '.' || e->KeyChar == ',')
{
// жесткая запятая
e->KeyChar = ',';
// может уже имеем один разделитель
if (aPredelText->Text->IndexOf(',') != -1)
{
e->Handled = true;
return;
}
}
// не управляющая клавиша, не число и не разделитель
if(!Char::IsControl(e->KeyChar) && !Char::IsDigit(e->KeyChar) && e->KeyChar != ',')
{
e->Handled = true;
return;
}
}