Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C#.Вопросы

Опубликовано

учусь на нем программировать.

Два вопроса.

Как сделать так чтобы при записи в файл, которые открыт на редактировании другой программой(например Exel) всё таки сделать запись, или записать в другой файл. Я так понимаю перехватывать доступ к файлу у Exell не так просто. Пока у меня программа пишет? что исключение не обработано и умирает.(оно и понятно я пока не умею это)

Второе как можно скопировать строчку из файла (Rdr.readline()) прямо в буфер windows? чтобы потом можно было вставить в тот же Exell? Ну и понятно после закрытия программы информация оставалась в буффере.

 

Буду очень признателен.

 

Рекомендуемые сообщения

Опубликовано

Ох чота всё в кучу у Вас :)

Про права на запись. Трабл в том, что Excel ставит монопольный доступ. Типа "только я и никто другой не может войти, пока я не закончу".

Есть на самом деле несколько идей как сделать это...

Типа ставим очередь изменений файла. Как только файл "отпущен" Excel'ем - скидываем изменения. Если нет - добавляем изменение в очередь. Таймер опроса файла.

Про второе - надо погуглить по "copy to clipboard C#" - гуглить надо учиться в любом случае. Там всё точно просто реализуемо.

Обрисуйте лучше задачу - мы придумаем оптимальный алгоритм, а Вы напишете.

Опубликовано
  • Автор

Спасибо.

про exel, я не могу понять какое исключение вызывается если создается файл с уже имеющемся именем и он занят exell'ем. Мне тогда проще обрабатывать исключение и создавать файл с новым именем.

про копирование в буфер нашем много чего. буду читать. Просто пока у меня консольное приложение, хотел обойтись без GMI). Попробую как пишут.

  • 4 недели спустя...
Опубликовано

Вопрос про связывание данных в Windows.Forms

 

В главном окне имеются два объекта NumericUpDown: updn1 и updn2.

 

Нужно чтобы максимальное значение updn2 (updn2.Maximum)

было равно текущему значению updn1 деленному пополам ((updn1.Value)/2).

 

Простая связка между ними:

 

updn2.DataBindings.Add("Maximum", updn1, "Value");

updn2.DataBindings[0].DataSourceUpdateMode = DataSourceUpdateMode.Never;

 

При этом максимум updn2 будет равен текущему значению updn1,

но как сделать чтобы максимум updn2 был равен половине текущего значения updn1?

updn2.DataBindings.Add("Maximum", updn1, "Value/2"); - не работает

Заранее благодарен.

  • 4 недели спустя...
Опубликовано

чтоб не плодит темы:)

мне нужно мониторить определенный столбик в базе асcеss, скачал визуал с# експресс, сумел сделать что по нажатии кнопки у меня снимается параметр из базы за последний момент...

 

private void button1_Click(object sender, EventArgs e)

{

подключение к базе;

запрос в базу;

вывод результата в Label1.Text;

Закрытие соединения:

}

 

 

а вот как сделать чтобы по нажатии кнопки запрос делалася скажем каждые 60 сек, а при повторном нажатии останавливался?

 

 

Опубликовано
таймер на 60 с, запрос в обработчике его события, кнопка переключает состояние таймера активное/неактивное
  • 5 месяцев спустя...
Опубликовано
  • Автор

ну значит цель стала более простая. Надо запихнуть NR строк в конкретный файл, в конкретный лист с начиная с конкретной строки.

Научился открывать нужный файл.

записывать в новь созданный файл данные корректно.

но не могу записать данные в конкретный лист.

 

пример кода.

           Excel.Application oXL;
           Excel._Workbook oWB;
           Excel._Worksheet oSheet;

              //Start Excel and get Application object.
              oXL = new Excel.Application();
              oXL.Visible = true;
                
               //open need file(get work sheet)
               oWB = oXL.Workbooks.Open("e:/emf/ros/1.xlsx", 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", true, true, 0, true, 1, 0);
               //
               
               //oSheet = (Excel.Worksheet) oWB.ActiveSheet;

               oSheet = (Excel._Worksheet)oWB.NameSheet["Vk"];

 

Как сделать чотбы oSheet стал ссылкой(объектом) на лист с именем Vk. А то что за комментировано работает-но делает активным первый лист. А меня надо ходить от листа к листу- чтобы экспортировать данные. не обязательно активировать нужный лист, на запихать в oSheet ссылку. уже второй день бьюсь не получается.

  • 9 месяцев спустя...
Опубликовано

Рябята, надо переименовать файл.

есть путь и его имя, и есть новое имя.

допустим

string path="с:\\ObsoledName.ppp";
string pathN="c:\\NewName.ppp";

как это сделать?

Опубликовано

всё решил вопрос, надо писать File.Move(oldpatch,newPatch)

пути должны содержать имя файла, а File-типа имя пространства(как Console)

Опубликовано

Теперь такой вопрос, как открыть файл, прогой ассоциированной в windows по умолчанию(pdf-adobeRd, doc-word, jpg - picasa..),

путь и имя файла есть, просто файлы могут быть разного расширения. Пока научился открыть через процесс трат, которому надо указывать

параметр к проге, и путь к файлу, но перебор расширения делать долго. <_<

Опубликовано

ну это же долно быть просто, Яне могу делать фильтрацию по типу файла, и ещё проверять где стоит сооветсвующее приложения для файла.

интересует djvu docs xls pdf jpg

 

udate ну вообщем я сам всё нашел.

мальнькая програ для обработки документов готова.

как сделать вызов c программой ассоциированой здесь пример http://codehelper.ru/questions/467/new/%D0...%BC%D0%BE%D0%B9

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.