Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2017, 05:55   #1
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию Как соблюсти порядок при сохранении файла? C#

Всем привет!
Вообщем есть маленький парсер и два txt файла.
В первом файле содержатся ссылки на картинки - File.Link.
Во втором файле имена этих картинок - File.Name.
Каждая ссылка - соответствует имени!
/*** ПОРЯДОК ПРАВИЛЬНЫЙ! ***/
Вообщем вопрос такой:
как соблюсти тот-же порядок при сохранении этих (уже скачанных картинок) ?

Парсер берёт ссылку из фала (File.Link) - Качает по ней картинку - присваивает ей имя из файла (File.Name) = НО, на выходе имя не сходится с картинкой.

То есть , пример: картинка (арбуз) - имя (дыня)!
И ещё вопрос: - в какой момент происходит смешивание строк? загрузка в ArrayList идёт рандомно? или на выходе идёт рандомное присвоение имени?

Код ниже:
PHP код:
 /****************Загрузка Данных******************/
        
private void btn_link_Click(object senderEventArgs e)
        {
            var 
links = new OpenFileDialog();
            
links.Filter "*.txt | *.txt";
            if (
links.ShowDialog() == DialogResult.OK)
            {
                
Files.link.AddRange(File.ReadAllLines(links.FileName));
                
Files.countLink Files.link.Count;
                
lbl_link.Text Files.countLink.ToString();
            }
        }

        private 
void btn_name_Click(object senderEventArgs e)
        {
            var 
names = new OpenFileDialog();
            
names.Filter "*.txt | *.txt";
            if (
names.ShowDialog() == DialogResult.OK)
            {
                
Files.name.AddRange(File.ReadAllLines(names.FileName));
                
Files.countName Files.name.Count;
                
lbl_name.Text Files.countName.ToString();
            }
        } 
PHP код:
private void DownSkins()
        {
            try
            {
                for (
int i 0Files.countNamei++)
                {
                    
using (WebClient client = new WebClient())
                    {
                        
string url Files.link[i].ToString();
                        
client.DownloadFile(urlAppDomain.CurrentDomain.BaseDirectory Files.name[i].ToString() + ".png");
                        
Files.resDown++;
                        
lbl_download.Invoke(new Action(() => { lbl_download.Text Files.resDown.ToString(); }));
                    }
                }
            }
            catch (
Exception ex)
            {
                
MessageBox.Show(ex.Message);
            }
        } 
Заранее всем Благодарен!

ПРОШУ ПРОЩЕНИЯ - Я САМ ХОЛОНУЛСЯ - СТРОКИ В ФАЙЛАХ НЕ СООТВЕТСТВУЮТ ДРУГ ДРУГУ! (точнеее соответствую первые несколько ,а дальше всё смешано).

Оставлю тут скрипт - может кому пригодится)

И ещё - Вот так будет лучше - меньше размер кода) и загрузка всего одного файла - на выходе тот-же результат!

PHP код:
/***********Тут храним данные************/
class Files
    
{
        public static 
ArrayList NameLink = new ArrayList();
        public static 
int countNameLink 0;
        public static 
int resDown 0;
    } 
PHP код:
/****************Загрузка Данных******************/
        
private void btn_NameLink_Click(object senderEventArgs e)
        {
            var 
nameLink = new OpenFileDialog();
            
nameLink.Filter "*.txt | *.txt";
            if (
nameLink.ShowDialog() == DialogResult.OK)
            {
                
Files.NameLink.Clear();
                
Files.NameLink.AddRange(File.ReadAllLines(nameLink.FileName));
                
Files.countNameLink Files.NameLink.Count;
                
lbl_nameLink.Text Files.countNameLink.ToString();
            }
        } 
PHP код:
/******************Качаем картинки и сохраняем в создающейся папке*********************/
        
private void DownSkins()
        {
            try
            {
                
Directory.CreateDirectory("Skins");
                for (
int i 0Files.countNameLinki++)
                {
                    
using (WebClient client = new WebClient())
                    {
                        
string url Files.NameLink[i].ToString();
                        if (
url.Contains("~"))
                        {
                            
string names url.Split('~')[0].Trim();
                            
string _url_ url.Split('~')[1].Trim();

                            
string papka Path.Combine(Directory.GetCurrentDirectory(), "Skins");
                            
client.DownloadFile(_url_Path.Combine(papkanames ".png"));
                            
Files.resDown++;
                            
lbl_download.Invoke(new Action(() => { lbl_download.Text Files.resDown.ToString(); }));
                        }
                    }
                }
            }
            catch (
Exception ex)
            {
                
MessageBox.Show(ex.Message);
            }
        } 

Последний раз редактировалось stu_dent; 17.02.2017 в 15:48.
stu_dent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при сохранении файла excel a2alex Microsoft Office Excel 0 21.05.2013 16:12
Исходное название файла при сохранении mTRIX Общие вопросы Delphi 4 07.12.2012 20:05
Ошибка при сохранении файла xls Chaon Microsoft Office Excel 1 16.03.2012 13:45
Автомейл данных из ячейки при сохранении файла Python Microsoft Office Excel 3 06.10.2010 01:18
Отказ при сохранении файла Igor_Tr Microsoft Office Excel 0 17.01.2010 20:40