- 1
- 2
- 3
Товарищи, подскажите, как прикрутить скриптовый движок к парсеру на Delphi (а заодно и сам движок)!
Извращение это нужно, чтобы распарсить сайт, использующий скрипты.
webbrowser не подходит - слишком тормозно и глючно.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+140
Товарищи, подскажите, как прикрутить скриптовый движок к парсеру на Delphi (а заодно и сам движок)!
Извращение это нужно, чтобы распарсить сайт, использующий скрипты.
webbrowser не подходит - слишком тормозно и глючно.
+147
<select name="myselect">
<option value="one" <?php echo set_select('myselect', 'one', TRUE); ?> >One</option>
<option value="two" <?php echo set_select('myselect', 'two'); ?> >Two</option>
<option value="three" <?php echo set_select('myselect', 'three'); ?> >Three</option>
</select>
Form Helper в CodeIgniter (http://ellislab.com/codeigniter/user-guide/helpers/form_helper.html)
Зря я туда зашел
+157
$("#SubmitButton").click(function () {
for (a_cik = 0; a_cik < 2; a_cik++) {
for (c_cik = 0; c_cik < 7; c_cik++) {
elem_cik=$('#AvailabilityList_'+a_cik+'__Years_'+c_cik+'_');
if (elem_cik != null) {
if (elem_cik.parent().parent().hasClass('qqq')) { // Проверка элемента на видимость
if (!(((elem_cik.val() >= '1') && (elem_cik.val() <= '9')) || ((elem_cik.val() >= '10') && (elem_cik.val() <= '17')))) {
alert('Ошибка. Возраст ребёнка не указан, или задан в неверном формате. Исправьте ошибку и повторите попытку');
elem_cik.focus();
return false;
}
}
}
}
}
$("#BookingForm").submit()
});
Валидация возрастов детей перед их передачей дальше. ATTEMPTION MAGIC NUMBER!
+164
var add_res = titles.pop();//высовываем последний элемент
add_res.sites.push($(this).find("a").attr("href"));//засовываем еще одну ссылку
titles.push(add_res);//засовываем взад
+153
function Recalc(index) {
var url = window.location.pathname + "?";
var data = "DepartureDate=" + $("#AvailabilityList_" + index + "__DepartureDate").val()
+ "&DepartureTime=" + $("#AvailabilityList_" + index + "__DepartureTime").val()
+ "&ArrivalDate=" + $("#AvailabilityList_" + index + "__ArrivalDate").val()
+ "&ArrivalTime=" + $("#AvailabilityList_" + index + "__ArrivalTime").val()
+ "&FromCode=" + $("#AvailabilityList_" + index + "__FromCode").val()
+ "&ToCode=" + $("#AvailabilityList_" + index + "__ToCode").val()
+ "&ShipCode=" + $("#AvailabilityList_" + index + "__ShipCode").val()
+ "&ProviderCode=" + $("#AvailabilityList_" + index + "__ProviderCode").val()
+ "&Duration=" + $("#AvailabilityList_" + index + "__Duration").val()
+ "&AdultCount=" + $("#AvailabilityList_" + index + "__AdultCount").val()
+ "&ChildCount=" + $("#AvailabilityList_" + index + "__ChildCount").val()
+ "&FerryID=" + $("#AvailabilityList_" + index + "__FerryID").val()
+ "&Auto=" + $("#AvailabilityList_" + index + "__Auto").val()
+ "&FareCode=" + $("#AvailabilityList_" + index + "__FareCode").val()
+ "&Years[0]=" + $("#AvailabilityList_" + index + "__Years_0_").val()
+ "&Years[1]=" + $("#AvailabilityList_" + index + "__Years_1_").val()
+ "&Years[2]=" + $("#AvailabilityList_" + index + "__Years_2_").val()
+ "&Years[3]=" + $("#AvailabilityList_" + index + "__Years_3_").val()
+ "&Years[4]=" + $("#AvailabilityList_" + index + "__Years_4_").val()
+ "&Years[5]=" + $("#AvailabilityList_" + index + "__Years_5_").val()
+ "&Years[6]=" + $("#AvailabilityList_" + index + "__Years_6_").val()
+ "&Years[7]=" + $("#AvailabilityList_" + index + "__Years_7_").val()
+ "&Years[8]=" + $("#AvailabilityList_" + index + "__Years_8_").val()
+ "&Index=" + index;
return data;
}
Back-end asp.net mvc, кому интересно
+151
function recalcMeal() {
jQuery('.recalc2').bind("click", function () {
pusto = '';
jQuery.each(jQuery('.vuborka input'), function (index) {
var allInputValueMeal = parseInt(jQuery(this).val());
if (allInputValueMeal != 0 && $.browser.msie) {
for (var i = 0; i < allInputValueMeal; i++) {
pusto = pusto + jQuery(this).parent().parent().parent().next().find('.boxtypecode').val() + ';';
}
}
else if (allInputValueMeal != 0 && !($.browser.msie)) {
for (var i = 0; i < allInputValueMeal; i++) {
pusto = pusto + jQuery(this).parent().parent().parent().next().val() + ';';
}
}
});
jQuery('.selectedcabins').val(pusto);
});
}
Код который я поддерживаю от старого работника.
+134
private void FormBackUpFlash_Load(object sender, EventArgs e)
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.DriveType == DriveType.Removable)
{
bool thisIsDisketa = false;
if (d.Name.Contains("A:")) thisIsDisketa = true;
if (d.Name.Contains("B:")) thisIsDisketa = true;
if (thisIsDisketa)
continue;
else
listBoxDevice.Items.Add(d);
}
}
if (listBoxDevice.Items.Count > 0)
{
StatusLabel.ForeColor = Color.Blue;
StatusLabel.Text = "Готово!";
listBoxDevice.SelectedIndex = 0;
}
else
{
buttonWrite.Enabled = false;
StatusLabel.ForeColor = Color.Red;
StatusLabel.Text = "Подходящих устройств нет!";
}
}
private void buttonWrite_Click(object sender, EventArgs e)
{
try
{
DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
pathDst = Path.Combine(drv.Name, "PROJECTNAME_Backup");
if (!Directory.Exists(Path.Combine(drv.Name, "PROJECTNAME_Backup")))
{
Directory.CreateDirectory(pathDst);
}
this.Cursor = Cursors.WaitCursor;
DBMSSQL dbm = new DBMSSQL();
int i;
for (i = 0; i < 10; i++)
{
if (dbm.BackupDB(Path.Combine(Path.Combine(drv.Name, "PROJECTNAME_Backup"), "DataPROJECTNAMEDataContext.bak"), true))
{
MessageBox.Show("Резервная копия создана успешно!", "OK!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
break;
}
Thread.Sleep(1000);
}
if (i == 10)
{
MessageBox.Show("Ошибка при создании резервной копии!!!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception e1)
{
MessageBox.Show(e1.Message + "\r\nЭкспорт отменен!");
this.DialogResult = DialogResult.Cancel;
}
finally { this.Cursor = Cursors.Default; }
}
private void listBoxDevice_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
DriveInfo drv = (DriveInfo)listBoxDevice.SelectedItem;
labelSizeDevice.Text = drv.AvailableFreeSpace < 1000000000 ?
string.Format("{0}MB", drv.AvailableFreeSpace / 1000000) :
string.Format("{0:F2}GB", (float)drv.AvailableFreeSpace / 1000000000.0);
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
}
}
Три в одном.
Исключаем флоппи из списка дисков, 10 раз пытаемся создать бэкап и 1000000 байт в мегабайте.
+8
QRegExp re("<cite>(.*)</cite>");
re.setMinimal(true);
qDebug() << re.indexIn("<cite>http://test.com/</cite>");
Ошибка, на фикс которой мы с другом убили почти час.
−167
Попытка
ДокументВозврата.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
Исключение
Попытка
ДокументВозврата.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
Исключение
Сообщить("Не удалось записать/провести документ возврата в ИБ " + ДокументВозврата, СтатусСообщения.ОченьВажное);
КонецПопытки;
ДокументВозврата.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
Что делать, если не получилось провести документ? Правильно! Попробовать еще раз!
А потом еще и записать.
Для надежности.
+145
$packages = array(
1 => array(
1 => 'HTML_AJAX',
2 => 'HTML_Common2',
3 => 'HTML_QuickForm2'
),
2 => array(
1 => 'HTTP_Download',
2 => 'HTTP_Request2'
)
);
Ребята пошли против системы