Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

May_Johnson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
добрый день, у меня вопрос по поводу MSI файлов.
 Есть ли какой то способ редактировать таблицы MSI файла "из кода"?, на текущий момент работа ведется вруную, при помощи Orca, но этот процесс хотелось бы автоматизировать.

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 15:15 15-07-2010
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
May_Johnson
Конечно, можно. Посмотрите примеры Platform SDK.
 
C:\PSDK\Samples\SysMgmt\Msi\scripts\

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 16:48 15-07-2010
May_Johnson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо, то что надо

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 18:08 15-07-2010 | Исправлено: May_Johnson, 18:09 15-07-2010
dAverk



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
Стоит такой вопрос - печать html из консольной проги. Html - таблички.
Проблема - Ищется вариант печать html из C# 2й фреймворк консольное приложение, должно уметь крутить альбомный/книжные виды и получать количество копий.  
Все варианты на базе WebBrowser,InternetExplorer - пробовал, не устраивают, ибо первый криво работает , второй открывает окно осла, что очень не требуется.

Код:
 
WebBrowser html = new WebBrowser();
html.Navigate(CommandLine["file"]);
html.Print();
 

Вообще ничего не выводит
Идеи есть?
Заранее благодарен

Всего записей: 13 | Зарегистр. 27-09-2006 | Отправлено: 15:32 17-07-2010 | Исправлено: dAverk, 17:19 17-07-2010
Mextrom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dAverk
Посмотрите здесь, это правда не консольный проект, но может пригодится.

Цитата:
Все варианты на базе WebBrowser,InternetExplorer - пробовал, не устраивают, ибо первый криво работает

Криво это как?

Всего записей: 854 | Зарегистр. 30-03-2005 | Отправлено: 19:18 17-07-2010
dAverk



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Благодарю за ссылку, это я смотрел, не получилось рулить landscape и количеством копий. Выдавал всегда в книжном виде одну копию . Пытался в System.Drawing.Printing настраивать параметры для "текущего документа", но както неособо.
Криво - это что в объекте данные есть а на печать ничего не уходит

Всего записей: 13 | Зарегистр. 27-09-2006 | Отправлено: 17:05 18-07-2010
v1rtyaluk



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте!
Помогите решить проблему.
 
Пишу программу на WPF и при этом использую DataBlinding, т.е. подключил к проекту xml файл.
Вот содержимое того файла:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<Sections>
    <Designer.SidePictures>
        <Extra>
<Name>Abstract</Name>
<Vendor>Virtyaluk</Vendor>
<URI>Designer.633\\Abstract.bmp</URI>
<Information>Windows Side Picture</Information>
        </Extra>
        <Extra>
<Name>Abstract 2</Name>
<Vendor>Virtyaluk</Vendor>
<URI>Designer.633\\Abstract_2.bmp</URI>
<Information>Windows Side Picture</Information>
        </Extra>
        <Extra>
<Name>Adriana Lima</Name>
<Vendor>Virtyaluk</Vendor>
<URI>Designer.633\\AdrianaLima.bmp</URI>
<Information>Windows Side Picture</Information>
        </Extra>
        <Extra>
<Name>Alina Vacariu</Name>
<Vendor>Virtyaluk</Vendor>
<URI>Designer.633\\AlinaVacariu.bmp</URI>
<Information>Windows Side Picture</Information>
        </Extra>
    </Designer.SidePictures>
</Sections>
 

 
Привязал Name к ListBox, а Vendor, Information - к TextBlock, URI к Image.
Загвоздка в том, что текст нормально считывает и отображает в соответствующих контроллах, а вот рисунки нет т.е. если подключить рисунки(и иерархию директорий) к проекту то отображает.
В одной папке екзешка моей программы и папка Designer.633 - так вот надо, чтоб рисунок отображался в контроле без импортированния в проект. Чтоб юзвери сами могли добавлять в хмл раздели, в папку рисунок и не возникало затруднений.
 
Помогите, пожалуйста!

Всего записей: 110 | Зарегистр. 10-03-2010 | Отправлено: 01:24 19-07-2010
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
v1rtyaluk
WPF'ный Image должен получать только полный путь.
В принципе, возможен вариант:

Код:
BitmapImage bi3 = new BitmapImage();
bi3.UriSource = new Uri("smiley_stackpanel.PNG", UriKind.Relative);

но я не знаю, как это прописать в разметке. Но всегда можно сделать через конвертер.

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 10:32 19-07-2010
Mextrom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
v1rtyaluk
Может есть смысл конвертер написать? В нем взять папку, из которой запускалась программа и добавить путь из uri файла.

Всего записей: 854 | Зарегистр. 30-03-2005 | Отправлено: 10:39 19-07-2010
v1rtyaluk



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Omicron_Persey_8
Mextrom
Есть форма(Windows) на ней LayoutRoot. Ha LayouRoot - listBox который читает значение Name в список.
Рядом с листБоксом добавляю Grid и ставлю ему свойство зависимости от выбраного элемента в лисБоксе.
На Грид добавляю 2 тексБокса - для Vendor и Information и Image для URI (соответственно для всех подключаю ДатаБаиндинг), т.е. выходит так, что если выбираю строку в листБоксе то отображается инфа связана с выбранным элементом и в элементах управления размещенных в Грид.
Это для полной наводки, а проблема с Имейдж више.
 
В XAML код для соурса имейдж:
 Source="{Binding XPath=URI}"
 
Может есть смысл написать все на C#??Или там тоже моя проблема не решится?

Всего записей: 110 | Зарегистр. 10-03-2010 | Отправлено: 11:25 19-07-2010
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
v1rtyaluk
С Image никакой проблемы нет, ему нужен полный путь к файлу, а у тебя в твоем xml'е относительный. Как это разрулить кодом я написал выше, как разметкой - не знаю, походу через конвертер, который к твоему относительному пути будет дописывать путь к рабочему каталогу

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 12:10 19-07-2010
Mextrom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
v1rtyaluk
Можно сделать что-то в этом роде. Пишем конвертер

Код:
public class UriToImageConverter : IValueConverter
    {
        #region IValueConverter Members
 
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {            
            Uri imageUri = new Uri(<путь_к_программе> + <uri_файла>, UriKind.Absolute);
            return new BitmapImage(imageUri);
        }
 
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
 
        #endregion
    }
 

То, что передается в Source, хранится в параметре value метода Convert. Т.о. если все передается правильно, то в конвертере формируете нужный вам uri с учетом пути к программе и возвращаете из метода объект с картинкой.
Далее в разметке окна подключаем пространство имен вашего конвертера

Код:
xmlns:converters="clr-namespace:нужное_пространство_имен"

добавляем конвертер в ресурсы окна

Код:
<Window.Resources>
<converters:UriToImageConverter x:Key="ImageConverter" />
</Window.Resources>

и затем

Код:
<Image Source="{Binding XPath=URI, Converter={StaticResource ImageConverter}} />"

Должно получится.
 
 
Добавлено:
Кстати, а не пробовали в xml вместо  

Цитата:
 
<URI>Designer.633\\AlinaVacariu.bmp</URI>
 

написать  

Цитата:
 
<URI>\\Designer.633\\AlinaVacariu.bmp</URI>  
 

и далее как предлагал Omicron_Persey_8. Может просто путь не правильно воспринимается, т.е. Designer.633 не распознается папкой без слэша?
 

Всего записей: 854 | Зарегистр. 30-03-2005 | Отправлено: 12:23 19-07-2010 | Исправлено: Mextrom, 12:31 19-07-2010
dAverk



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ещё один глупый вопрос:
Как всё же сменить настройки принтера, WebBrowser упорно игнорирует всё что пытаюсь установить.
ЗЫ первый вопрос решил скрытой формой с компонентой

Всего записей: 13 | Зарегистр. 27-09-2006 | Отправлено: 16:03 19-07-2010
v1rtyaluk



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mextrom
Не пашет конвертер, только кучу ошибок кидает!
Может можно написать привязку данных на C#, а WPF будет использоваться для визуализации.
КАК?
 
Короче, кидаю вам свой проект и иерархию директорий.
http://winsatana.narod.ru/Files.7z
 
Что нужно?
- привязать хмл-файл к программе независимо от ее нахождения(что-то типа: Environment.CurretnDirectory+"\\Base\\Designer.SidePictures.xml")$;
- при выборе в листбоксе какой-нибудь итем отображать картинку в нужном месте(см. мой проект) независимо от ее нахождения и не подключая к проекту - только ссылаясь на хмл-файл т.е. читая относительный путь картинки;
- сделать кнопку при нажатии на которою картинка выбранная в листбоксе копируется в Prepare\\SidePicture (см. мой проект).
 
Можно это сделать???
Поможет кто-то??

Всего записей: 110 | Зарегистр. 10-03-2010 | Отправлено: 12:57 22-07-2010
Mextrom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
v1rtyaluk
У меня получилось так.
MainWindow.xaml
Код:
<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
    xmlns:convert="clr-namespace:WpfApplication1"
    x:Class="Designer.MainWindow"
    x:Name="Window"
    Title="MainWindow"
    Width="640" Height="480">
 
    <Window.Resources>
        <XmlDataProvider x:Key="xdata"  
                         Source="e:/MyDownloads/Designer.SidePictures.xml"
                         XPath="/Sections/Designer.SidePictures"
                         d:IsDataSource="True"/>
        <DataTemplate x:Key="ExtraTemplate">
            <StackPanel>
                <TextBlock Text="{Binding XPath=Name}"/>
            </StackPanel>
        </DataTemplate>
        <convert:ImageConverter x:Key="ImageConverter" />
    </Window.Resources>
 
    <Grid x:Name="LayoutRoot"  
          DataContext="{StaticResource xdata}">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="3*" />
        </Grid.ColumnDefinitions>
        <ListBox x:Name="listBox"  
                 Grid.Column="0"
                 ItemsSource="{Binding XPath=Extra}"
                 IsSynchronizedWithCurrentItem="True"
                 ItemTemplate="{StaticResource ExtraTemplate}" />
        <Image x:Name="img"  
               Grid.Column="1"
               Source="{Binding ElementName=listBox, Path=SelectedItem, Converter={StaticResource ImageConverter}}"/>
    </Grid>
</Window>

ImageConverter.cs (лежит в корне проекта)
Код:
using System;
using System.Windows.Media.Imaging;
using System.Xml;
using System.Windows.Data;
 
namespace WpfApplication1
{
    public class ImageConverter : IValueConverter
    {
        #region IValueConverter Members
 
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            XmlElement path = value as XmlElement;
            if (path != null)
            {
                Uri imageUri = new Uri(Environment.CurrentDirectory + path["URI"].InnerText, UriKind.Absolute);
                return new BitmapImage(imageUri);
            }
            return null;
        }
 
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
 
        #endregion
    }
}
 
Другие файлы без изменений. В xml файле URI выглядят так (одинарный слеш вместо двойного)

Код:
<URI>\Designer.SidePuctures\Abstaract.bmp </URI>

кстати в первом элементе опечатка, точнее в имени файла (Abstaract.bmp).
Папка с картинками лежит в папке с программой.
У меня все нормально работает. В листбоксе отображается список элементов. При выборе элемента меняется картинка.
Здесь есть пример работы с xml binding.

Всего записей: 854 | Зарегистр. 30-03-2005 | Отправлено: 21:42 22-07-2010 | Исправлено: Mextrom, 21:50 22-07-2010
v1rtyaluk



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mextrom
чета нифига ваш код не работает!
написал конвертер, добавил его в ХАМЛ и капец!
ничего не отображается, только затруднилась задача ибо отсутствует все кроме листбокса и имейдж.
кароч полная херня
 
напомню, что мне надо:
- привязать хмл-файл к программе независимо от ее нахождения(что-то типа: Environment.CurretnDirectory+"\\Base\\Designer.SidePictures.xml")$;  
- при выборе в листбоксе какой-нибудь итем отображать картинку в нужном месте(см. мой проект) независимо от ее нахождения и не подключая к проекту - только ссылаясь на хмл-файл т.е. читая относительный путь картинки;  
- сделать кнопку при нажатии на которою картинка выбранная в листбоксе копируется в Prepare\\SidePicture (см. мой проект).

 
єсли не сложно то оформлять все это в проекте по ссылке
http://winsatana.narod.ru/Files.7z
 
Жду помощи!

Всего записей: 110 | Зарегистр. 10-03-2010 | Отправлено: 22:26 22-07-2010
Mextrom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
v1rtyaluk

Цитата:
чета нифига ваш код не работает!  

У меня все работает без проблем, иначе бы не писал. Могу даже скриншот рабочей программы сделать, только выкладывать некуда. Source для xml провайдера поменяли на свой (если ничего не отображается в листбоксе, значит xml файл не находит)? Xml переделали, как я показывал? Неймспейсы и названия классов проверяли? Может подправить надо под свои? Под дебаггером смотрели что где и как? По ссылке ходили, пример смотрели?

Цитата:
ничего не отображается, только затруднилась задача ибо отсутствует все кроме листбокса и имейдж. кароч полная херня  

Я написал грубый пример, целиком за вас задачу я решать даже и не думал. Накидать нужные элементы, расположить их как вам надо и написать к ним привязку данных по аналогии - не проблема, было бы желание думать и разбираться в проблеме.

Всего записей: 854 | Зарегистр. 30-03-2005 | Отправлено: 22:48 22-07-2010
v1rtyaluk



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mextrom
а можно читать xml только на С# без использования WPF (думаю так намного проще)??
 
и как насчет предыдущего поста, то, что выделено черным???

Всего записей: 110 | Зарегистр. 10-03-2010 | Отправлено: 01:41 23-07-2010
mrherbrooks



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а можно читать xml только на С#

LINQ2XML

Всего записей: 129 | Зарегистр. 23-08-2008 | Отправлено: 09:31 23-07-2010
v1rtyaluk



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mextrom
кстати, спасибо за пример код - он действительно работает.Я просто скопировал и не заметил:

Цитата:
 Source="e:/MyDownloads/Designer.SidePictures.xml"

 
но я все равно не писал конвертер, а разобрался своим способом.
Теперь очередной вопрос:
можно, допустим тем самым конвертером, подключить хмл к проекту в Source="" через относительный, а не полный путь??

Всего записей: 110 | Зарегистр. 10-03-2010 | Отправлено: 13:32 25-07-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru