Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Ламерские" вопросы, задаем здесь элементарные вопросы 
:(
    Опции темы
nmn
Дата 29.4.2010, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



а дальше нужно читать блоки байтов (например по 4096 байт) и искать от конца блока к началу признак новой строки (предыдущий пост), если не нашел то перемещаешься к следующему такому блоку (первый блок fileEnd-4096, второй блок fileEnd-4096-4096 и т.д.), если нашел, то вот она последняя строка от найденного адреса до конца файла

сорри код могу попозже
PM Skype   Вверх
ДобренькийПапаша
Дата 29.4.2010, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 3
Всего: 7



Нашёл вот такой код, но работает некорректно:
Код

public static String  ReadLastLine(string path)

{

    return ReadLastLine(path, Encoding.ASCII, "\n");

}

public static String ReadLastLine(string path, Encoding encoding, string newline)

{

    int charsize = encoding.GetByteCount("\n");

    byte[] buffer = encoding.GetBytes(newline);

    using (FileStream stream = new FileStream(path, FileMode.Open))

    {

        long endpos = stream.Length / charsize;

        for (long pos = charsize; pos < endpos; pos += charsize)

        {

            stream.Seek(-pos, SeekOrigin.End);

            stream.Read(buffer, 0, buffer.Length);

            if (encoding.GetString(buffer) == newline)

            {

                buffer = new byte[stream.Length - stream.Position];

                stream.Read(buffer, 0, buffer.Length);

                return encoding.GetString(buffer);

            }

        }

    }

    return null;

}



--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
ДобренькийПапаша
Дата 29.4.2010, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 3
Всего: 7



Ещё вопрос. Как вставить гипертекст? Текст, щёлкнув по которому, откроется браузер со страницей по этой ссылке.


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
YankovskyAndrey
Дата 30.4.2010, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.10.2008
Где: СПБ

Репутация: нет
Всего: нет



у меня есть запрос GetAct для ActsTableAdapter'а

SELECT     [Act Name], [Act Receipt's Date], [Act Delivery's Date], [Total Sum]
FROM         Acts
Where [Act ID] = ?

такой вызов ActsTableAdapter.GetAct(1) возвращает object, как мне его преобразовать в массив?)
PM MAIL   Вверх
PingWiN0x20
Дата 30.4.2010, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.2.2008

Репутация: нет
Всего: нет



Помогите разобраться, в чем дело...
Есть функция на Delphi:

Код

function DateToJulian(const Date: TDateTime): Extended;
var
  Year, Month, Day: Word;
  A, B: Integer;
begin
  DecodeDate(Date, Year, Month, Day);
  if Month <= 2 then
  begin
    Dec(Year);
    Inc(Month, 12);
  end;
  A := Year div 100;
  B := 2 - A + A div 4;
  Result := Floor(365.25 * (Year + 4716)) + Floor(30.6001 * (Month + 1)) + Day + B - 1524.5;
end;


Я переписал его на C# так:

Код

        public double DateToJulian(DateTime gDate)
        {
            int Year, Month, Day = 0;
            int A, B = 0;

            Year = gDate.Date.Year;
            Month = gDate.Date.Month;
            Day = gDate.Date.Day;

            if (Month <= 2)
            {
                Year--;
                Month = Month + 12;
            }

            A = Year / 100;
            B = 2 - A + A / 4;

            return Math.Floor(365.25 * ((double)Year + 4716.0)) + Math.Floor(30.6001 * ((double)Month + 1.0)) + (double)Day + (double)B - 1524.0;
        }


Дата, передаваемая в функцию, равна "01.05.2010"... Результат работы фкнуии в Делфи = 2455317.5 а в C# 2455318.0
Почему так?

Это сообщение отредактировал(а) PingWiN0x20 - 30.4.2010, 23:02
PM MAIL   Вверх
gambit
Дата 30.4.2010, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



PingWiN0x20, где то ты в последней строке накосячил, искать было неохота, я просто скопировал строку из делфного кода и заменил Floor на Math.Floor и все зафунциклировало
Код

        static public double DateToJulian(DateTime gDate)
        {
            int Year, Month, Day = 0;
            int A, B = 0;
            Year = gDate.Date.Year;
            Month = gDate.Date.Month;
            Day = gDate.Date.Day;
            if (Month <= 2)
            {
                Year--;
                Month = Month + 12;
            }
            A = Year / 100;
            B = 2 - A + A / 4;
            return Math.Floor(365.25 * (Year + 4716)) + Math.Floor(30.6001 * (Month + 1)) + Day + B - 1524.5;
        }


Добавлено @ 23:15
а, ну в делфи строка заканчивается
Код

B - 1524.5;

а у вас
Код

B - 1524.0;


Добавлено через 11 минут и 12 секунд
ДобренькийПапаша, на winForm? контрол LinkLabel.

YankovskyAndrey, любой запрос из базы возвращает object. Расшифровый в массив примерно так
Код

List<T> mas = new List<T>();
while (reader.Read())
{
    mas.Add(new [T](reader["Act Name"], reader["Act Receipt's Date"], reader["Act Delivery's Date"], reader["Total Sum"]));
}


Это сообщение отредактировал(а) gambit - 30.4.2010, 23:16
PM MAIL ICQ Skype   Вверх
YankovskyAndrey
Дата 1.5.2010, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.10.2008
Где: СПБ

Репутация: нет
Всего: нет



а если я использую TableAdapter'ы
ну то  есть reader c запросом у меня создаётся автоматически и я не имею к ним доступа.
то есть я не делаю connection, command и т.д.
у меня просто есть ActsTableAdapter.
PM MAIL   Вверх
gambit
Дата 1.5.2010, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



Цитата(YankovskyAndrey @  1.5.2010,  00:36 Найти цитируемый пост)
а если я использую TableAdapter'ы
ну то  есть reader c запросом у меня создаётся автоматически и я не имею к ним доступа.
то есть я не делаю connection, command и т.д.
у меня просто есть ActsTableAdapter. 

тогда вам начальник выдернет руки.

Добавлено через 3 минуты и 40 секунд
тогда к адаптеру подцепите grid, и бегите по нему фореачем, но на мой взгляд это бред.
По идее должно быть человеческое решение, но вот лично передо мной если бы сейчас стояла ваша проблема, я бы просто переписал все на connection, command и т.д. чем искал возможность решения данной проблемы не кривым способом.
PM MAIL ICQ Skype   Вверх
YankovskyAndrey
Дата 1.5.2010, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.10.2008
Где: СПБ

Репутация: нет
Всего: нет



эм, то есть использовать всю эту визуальную красоту как бы не рекомендуется?

Добавлено через 2 минуты
я просто тоже в ужасе от 5000 строк дремучего кода, которые делают что-то непонятное у меня под носом.
я до этого на одном скриптовом языке сам весь интерфейс писал. то есть кодом.
и там было очень простое объектно реляционное отображение. msdn меня пугает, и совсем не отвечает на мои вопросы

Добавлено через 2 минуты и 55 секунд
а сейчас уже так придётся дописывать. нарисую пару тройку запросов. криво ужас.
спасибо большое
PM MAIL   Вверх
ДобренькийПапаша
Дата 6.5.2010, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 3
Всего: 7



Мне нужно связать Property Grid с контролом на форме. Чтобы юзер мог точно так же его настраивать как я в редакторе. Как это сделать? И как запретить некоторые настройки из этого property grid?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
LOPUH
Дата 10.5.2010, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Растение
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 15.2.2008
Где: Красноярск

Репутация: нет
Всего: 4



Долго думал куда запостить свой вопрос.. решил  что сюда. Осваиваю программирование,используя VS NET 2008.(ru). Недавно услышал,что русская версия содержит какие то баги, и для серьезного программирования не годится.. Хочется спросить, так ли это? В русской версии использую русский MSDN, так как с английским языком увы, проблемы. 
PM MAIL   Вверх
gambit
Дата 10.5.2010, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



LOPUH, не то что бы она не пригодна для программирования, просто перевод в основной массе выполнен машинно, а это значит что есть косяки.
За время работы на русской студии столкнулся с 2 косяками, один из которых не позволил дальше работать на ней.
1. Где то в коде накосячил, мне компилятор выдал error, я его прочитал и почувствовал себя дебилом. Я не помню какая была ошибка и как она звучала(что то про перекрытие полей родителя), но я просто не смог понять сути ошибки. Сидел довольно долго, потом запустил код на англ версии, посмотрел эту же ошибку, и даже при минимальном уровне английского, я понял что от меня хочет студия. Это был маленький косяк перевода, но очень неприятный.
2. Баг который не позволил дальнейшее использование русской студии. Не знаю может быть на данный момент это уже поправили, но я уже ушел от русской студии. На русскую версию студии не встает silverlight tools. Причем при установке русского сильверлайта на русскую студию, мы получаем ошибку что студия нужна англ.

Теперь про msdn. Люди для кого англ второй родной, говорят что так как перевод выполнен машинно, то очень многие нюансы потерялись. Но лично меня как человека который с англ на Вы, русский msdn в целом устраивает. Если уж какие то вещи вообще не понятны, то открываю англ и мучаюсь читаю.
PM MAIL ICQ Skype   Вверх
LOPUH
Дата 10.5.2010, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Растение
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 15.2.2008
Где: Красноярск

Репутация: нет
Всего: 4



gambit,  ну проблемы с локализацией. это  очевидно.  Я слышал  ,что функциональность русской студии неполноценна, при создании каких то типов приложений возникают проблемы, что меня и удивило.
PM MAIL   Вверх
gambit
Дата 10.5.2010, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



LOPUH, ну про функциональность, только косяк с сильверлайтом.

Цитата(LOPUH @  10.5.2010,  12:43 Найти цитируемый пост)
при создании каких то типов приложений возникают проблемы

может я просто на такие проекты не натыкался, но мне такие не попадались и такого я не слышал.
PM MAIL ICQ Skype   Вверх
LOPUH
Дата 10.5.2010, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Растение
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 15.2.2008
Где: Красноярск

Репутация: нет
Всего: 4



Скорее всего , это из серии ОБС (одна бабка сказала). Спс.

Это сообщение отредактировал(а) LOPUH - 10.5.2010, 13:05
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1154 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.