Announcement

Collapse
No announcement yet.

Giúp tối ưu cách chọn đường dẫn để lưu 1 file nguyên tên và định dạng.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 10520346
    replied
    Originally posted by htc View Post
    Mình có bài tập dạng lưu file dk truyền từ nơi này đến nơi khác nhưng ngặt nỗi nếu chọn tên file sai so với tên file gốc thì nó sẽ ra 1 file cùng dung lượng nhưng ko có định dạng gì cả :sosad:, còn nếu muốn lưu đúng tên file và định dạng thì phải gõ y chóc cái tên file đó vào openfiledialog nhiều khi ko tối ưu lắm. Cụ thể và mình nảy sinh ra 2 ý sau để khắc phục: :happy:

    Cách 1: Làm thế nào để lấy dk cái tên file và định dạng của nó sau dấu \ sau cùng trên đường dẫn của textbox 1 quăng vô chỗ điền tên file của openfiledialog nhỉ ? nếu ko làm dk thì chỉ có nước cứ gõ tên file và định dạng vào như mình nói ban đầu ? Cách này liệu có làm dk và xin các bạn hướng dẫn.:happy:
    Hình mô phỏng;

    Sau khi click vào button Save ta dk hình:


    Cách 2: Mình nghĩ thế này đơn giản hơn là cũng cái button click để mở openfiledialog điền tên file đó thì ta sẽ thay là khi click vào button đó thì nó sẽ lấy tên file sau dấu \ sau cùng của tetxbox1 quăng xuống dấu \ sau cùng của textbox2 thế là ta dk đường dẫn. Tức là giả sử textbox1 đang có đường dẫn là C:\uit.txt trong khi textbox 2 ta đang có sẵn D:\data\ thì sau khi ta click vào button nó se quăng chữ uit.txt vào sau dấu \ cua thang D:\data\ thế là ta đã dk D:\data\uit.txt. Cách này cũng xin các bạn hường dẫn.:happy:
    Hình mô phỏng:
    dùng lớp Path để lấy filename, rồi set vào SaveDialog

    Code:
    <tên dialog>.FileName = System.IO.Path.GetFileName(<đường dẫn file gốc>);

    Leave a comment:


  • 08520522
    replied
    Originally posted by htc View Post
    Vẫn chưa hiểu anh trai ơi giả sử trong textbox đường dẫn nó là thế này đi : D:\user\folder\uit.txt anh giải thích giúp em vs cai vd đó xem. :sexy:
    Dùng hàm Split('\\') thì tạo thành 1 cái mảng gồm các phần tử: ["D:", "user", "folder", "uit.txt"], mảng ngày có độ dài là 4, muốn lấy tên file thì phải truy cập đến phần tử cuối cùng là phần tử có chỉ số 3, tức là "uit.txt". Vì vậy nên mới là length - 1, vì nếu truy cập phần tử cuối cùng mà dùng số 4 thì sẽ bị lỗi

    Leave a comment:


  • htc
    replied
    Originally posted by 08520522 View Post
    Phần tử cuối cùng của mảng có độ dài Length thì sẽ truy cập với index là Length - 1
    Vẫn chưa hiểu anh trai ơi giả sử trong textbox đường dẫn nó là thế này đi : D:\user\folder\uit.txt anh giải thích giúp em vs cai vd đó xem. :sexy:

    Leave a comment:


  • 08520522
    replied
    Originally posted by htc View Post
    :sosad:ak bữa nay sực nhớ lại ko hiểu tại sao lại là .Length -1 mà ko phải là .Length, bạn giải thích giúp vs.:smile:
    Phần tử cuối cùng của mảng có độ dài Length thì sẽ truy cập với index là Length - 1

    Leave a comment:


  • htc
    replied
    Originally posted by 11520210 View Post
    Để lấy tên file từ textbox1 xuống SaveFileDialog bạn có thể thử cách này xem sao :
    PHP Code:
    saveFileDialog1.FileName textBox1.Text.Split('\\')[textBox1.Text.Split('\\').Length-1]; 
    :sosad:ak bữa nay sực nhớ lại ko hiểu tại sao lại là .Length -1 mà ko phải là .Length, bạn giải thích giúp vs.:smile:

    Leave a comment:


  • htc
    replied
    Cám ơn bạn, mình cũng đã tìm ra cách làm, xin góp vui :happy:
    Code:
    Process.Start(System.IO.Path.GetPathRoot(textBox1.Text));

    Leave a comment:


  • 11520210
    replied
    Originally posted by htc View Post
    Mình làm dk rồi cách của bạn nào cũng hay, đúng đúng hết, cho mình hỏi thêm cái này hơi gà tí là mình tạo thêm cái button nữa khi click vào thì nó sẽ mở cửa sổ window (tức là openfiledialog) theo đường dẫn D:\data\uit.txt trong cái textbox2, mục đích là để xem thằng uit.txt có trong D:\data\ chưa thì làm sao ? Tóm gọn là mở openfiledialog theo đường dẫn có trước:nosebleed:
    Bạn dùng thuộc tính InitialDirectory của OpenFileDialog:
    PHP Code:
    openFileDialog1.InitialDirectory = @"D:\data"

    Leave a comment:


  • htc
    replied
    Mình làm dk rồi cách của bạn nào cũng hay, đúng đúng hết, cho mình hỏi thêm cái này hơi gà tí là mình tạo thêm cái button nữa khi click vào thì nó sẽ mở cửa sổ window (tức là openfiledialog) theo đường dẫn D:\data\uit.txt trong cái textbox2, mục đích là để xem thằng uit.txt có trong D:\data\ chưa thì làm sao ? Tóm gọn là mở openfiledialog theo đường dẫn có trước:nosebleed:

    Leave a comment:


  • 09520147
    replied
    Tối ưu code chỉ 4 dòng code này bạn

    string fileName = "uit.txt";
    string sourcePath = @"C:\Users\Public\TestFolder";
    string targetPath = @"C:\Users\Public\TestFolder\SubDir";
    System.IO.File.Copy(System.IO.Path.Combine(sourceP ath, fileName), System.IO.Path.Combine(targetPath, fileName), true);

    Tham số thứ 3 trong .Copy là dùng overwrite nếu tồn tại file nha bạn!!!

    Nói 4 dòng cho zui thôi, bắt lỗi nhiều lắm bạn, source file tồn tại hay ko, folder đích đến tồn tại hay không!
    Last edited by 09520147; 10-12-2012, 23:23.

    Leave a comment:


  • 11520210
    replied
    Để lấy tên file từ textbox1 xuống SaveFileDialog bạn có thể thử cách này xem sao :
    PHP Code:
    saveFileDialog1.FileName textBox1.Text.Split('\\')[textBox1.Text.Split('\\').Length-1]; 

    Leave a comment:


  • 10520541
    replied
    Thay code này xem
    PHP Code:
    private void button1_Click(object senderEventArgs e)
            {
                
    saveFileDialog1.InitialDirectory System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                
    saveFileDialog1.Title "Save as...";
                
    saveFileDialog1.FileName "";
                
    saveFileDialog1.Filter "Text Files|*.txt|All Files|*.*";
                
    string save "";
                if (
    saveFileDialog1.ShowDialog() != DialogResult.Cancel) {
                    
    save saveFileDialog1.FileName;
                    
    richTextBox1.SaveFile(saveRichTextBoxStreamType.PlainText);
                }
            } 

    Leave a comment:


  • Giúp tối ưu cách chọn đường dẫn để lưu 1 file nguyên tên và định dạng.

    Mình có bài tập dạng lưu file dk truyền từ nơi này đến nơi khác nhưng ngặt nỗi nếu chọn tên file sai so với tên file gốc thì nó sẽ ra 1 file cùng dung lượng nhưng ko có định dạng gì cả :sosad:, còn nếu muốn lưu đúng tên file và định dạng thì phải gõ y chóc cái tên file đó vào openfiledialog nhiều khi ko tối ưu lắm. Cụ thể và mình nảy sinh ra 2 ý sau để khắc phục: :happy:

    Cách 1: Làm thế nào để lấy dk cái tên file và định dạng của nó sau dấu \ sau cùng trên đường dẫn của textbox 1 quăng vô chỗ điền tên file của openfiledialog nhỉ ? nếu ko làm dk thì chỉ có nước cứ gõ tên file và định dạng vào như mình nói ban đầu ? Cách này liệu có làm dk và xin các bạn hướng dẫn.:happy:
    Hình mô phỏng;

    Sau khi click vào button Save ta dk hình:


    Cách 2: Mình nghĩ thế này đơn giản hơn là cũng cái button click để mở openfiledialog điền tên file đó thì ta sẽ thay là khi click vào button đó thì nó sẽ lấy tên file sau dấu \ sau cùng của tetxbox1 quăng xuống dấu \ sau cùng của textbox2 thế là ta dk đường dẫn. Tức là giả sử textbox1 đang có đường dẫn là C:\uit.txt trong khi textbox 2 ta đang có sẵn D:\data\ thì sau khi ta click vào button nó se quăng chữ uit.txt vào sau dấu \ cua thang D:\data\ thế là ta đã dk D:\data\uit.txt. Cách này cũng xin các bạn hường dẫn.:happy:
    Hình mô phỏng:

LHQC

Collapse
Working...
X